话不多说,先上存储为excel文件后的效果图,这里只是简单的将爬取到的数据保存到文件中,没有对表格数据进行标准化处理。因为这涉及到另一个python用来处理表格的库,在这里就不过多的说明,稍后会有相关的文章涉及。
对于豆瓣电影Top250的爬取是相对来说很简单的,尤其是对于新手来说,用该页面来当作爬虫的上手练习项目,是入坑爬虫的首选,很多爬虫初学者都会选择该项目作为入门练习。一直以来,本人都很少用函数式编程的方法来写爬虫代码,总是习惯于用简单的一条线式的编写方式,在这篇文章中采用的是函数式的编程方式。同时也涉及到用python来将数据写入excel表格,初步了解相关的用法。
通过查看网页源代码,我们知道该网页数据是静态数据,没有任何反爬机制,这也是前面为什么说作为入门爬虫的很好练手网页。点击鼠标右键,选择查看网页源代码,会弹出该页面的原始HTML代码,这时候我们按住CTRL+F,调出搜索框,搜索我们在浏览器中看到的数据。
再搜索其它电影的名字,同样也能搜索到,因此我们确定该页面就是静态网页,其目标url就是网址栏中的网址,如下图,如此我们就确定了索所要爬取的页面的url。
本次爬取过程中涉及到requests库,用于解析页面数据的lxml中的etree库以及将内容写入到excel文档中的xlwt库。如果没有相关库的朋友需要调出命令行,然后通过pip install 库名的方式进行安装。
import requests
from lxml import etree
import xlwt
#pip install requests
#pip install lxml
#pip install xlwt
通过requests库访问目标网页的数据,并确保能够获取到网页内容。
# 获取网页资源
def get_page_source(start_url,headers):
response = requests.get(url=start_url,headers = headers)
if response.status_code == 200:
response.encoding = response.apparent_encoding
page_data = response.text
return page_data
else:
return "未连接到页面"
获取到页面内容后,就是对页面内容进行解析,这里通过lxml库中的etree进行解析,然后用xpath语法进行对数据提取。
# 提取网页电影信息
def page_content(page_data):
etree_data = etree.HTML