python网络爬虫步骤:首先准备所需库,编写爬虫调度程序;然后编写url管理器,并编写网页下载器;接着编写网页解析器;最后编写网页输出器即可。
python网络爬虫步骤
(1)准备所需库
我们需要准备一款名为BeautifulSoup(网页解析)的开源库,用于对下载的网页进行解析,我们是用的是PyCharm编译环境所以可以直接下载该开源库。
步骤如下:
选择File->Settings
打开Project:PythonProject下的Projectinterpreter
点击加号添加新的库
输入bs4选择bs4点击InstallPackge进行下载
(2)编写爬虫调度程序
这里的bike_spider是项目名称引入的四个类分别对应下面的四段代码url管理器,url下载器,url解析器,url输出器。
我们把已经爬取过的url和未爬取的url分开存放以便我们不会重复爬取某些已经爬取过的网页。
#url管理器classUrlManager(object):def__init__(self):self.new_urls=set()self.old_urls=set()defadd_new_url(self,url):ifurlisNone:returnifurlnotinself.new_urlsandurlnotinself.old_urls:self.new_urls.add(url)defadd_new_urls(self,urls):ifurlsisNoneorlen(urls)==0:returnforurlinurls:self.new_urls.add(url)defget_new_url(self):#pop方法会帮我们获取一个url并且移除它new_url=self.new_urls.pop()self.old_urls.add(new_url)returnnew_urldefhas_new_url(self):returnlen(self.new_urls)!=0(4)编写网页下载器
通过网络请求来下载页面
#网页下载器importurllib.requestclassHtmlDownloader(object):defdownload(self,url):ifurlisNone:returnNoneresponse=urllib.request.urlopen(url)#code不为200则请求失败ifresponse.getcode()!=200:returnNonereturnresponse.read()(5)编写网页解析器
对网页进行解析时我们需要知道我们要查询的内容都有哪些特征,我们可以打开一个网页点击右键审查元素来了解我们所查内容的共同之处。
输出的格式有很多种,我们选择以html的形式输出,这样我们可以的到一个html页面。