python怎么做爬虫
python编写爬虫的整体思路简单清晰,下面来说一下具体的步骤
整体思路流程
通过URL获取说要爬取的页面的响应信息(Requests库的使用) 通过python中的解析库来对response进行结构化解析(BeautifulSoup库的使用) 通过对解析库的使用和对所需要的信息的定位从response中获取需要的数据(selecter和xpath的使用) 将数据组织成一定的格式进行保存(MongoDB的使用) 通过对数据库中的数据进行筛选和组织,进行数据可视化的初步展示(HighCharts库的使用)
简单代码演示
准备工作
下载并安装所需要的python库,包括:
requests库:用于向指定url发起请求 BeautifulSoup库:用于解析返回的网页信息 lxml库:用于解析网页返回结果 pymongo库:用于实现python对MongoDB的操作
对所需要的网页进行请求并解析返回的数据
对于想要做一个简单的爬虫而言,这一步其实很简单,主要是通过requests库来进行请求,然后对返回的数据进行一个解析,解析之后通过对于元素的定位和选择来获取所需要的数据元素,进而获取到数据的一个过程。
以上就是一个简单的网页爬虫的制作过程,我们可以通过定义不同的爬虫来实现爬取不同页面的信息,并通过程序的控制来实现一个自动化爬虫。
以下是一个爬虫的实例
import requests from bs4 import BeautifulSoup #58同城的二手市场主页面 start_url = 'http://bj.58.com/sale.shtml' url_host = 'http://bj.58.com' #定义一个爬虫函数来获取二手市场页面中的全部大类页面的连接 def get_channel_urls(url): #使用Requests库来进行一次请求 web_data = requests.get(url) #使用BeautifulSoup对获取到的页面进行解析 soup = BeautifulSoup(web_data.text, 'lxml') #根据页面内的定位信息获取到全部大类所对应的连接 urls = soup.select('ul.ym-submnu > li > b > a') #作这两行处理是因为有的标签有链接,但是却是空内容 for link in urls: if link.text.isspace(): continue else: page_url = url_host + link.get('href') print(page_url)
更多学习内容,请点击Python学习网。
来源:PY学习网:原文地址:https://www.py.cn/article.html