文章目录
- 环境搭建
- 创建一个简单实例
- 爬虫的步骤
环境搭建
- Python版本:Python 3.7
- 操作系统:Windows 7
- IDE:PyCharm
- 浏览器:Google Chrome
创建一个简单实例
爬虫的第一步,是需要获取数据。在Python中,可以通过urllib包或者Requests包来进行数据的获取。
- urllib包
- 推荐阅读urllib官方文档:https://docs.python.org/3/library/urllib.html
- 示例:使用urllib包获取百度首页信息
import urllib.request
#导入urllib.request
f = urllib.request.urlopen('http://www.baidu.com/')
#打开网址,返回一个类文件对象
f.read(500)
#打印前500字符
f.read(500).decode('utf-8')
#打印前500字符并修改编码为utf-8
- Requests包
- 由于requests是python的第三方库,因此首先需要安装requests库。requests官方文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
- 示例:使用Requests库获取百度首页信息
import requests #导入requests库
r = requests.get('https://www.baidu.com/')
#使用requests.get方法获取网页信息
r
r.text #打印结果
r.encoding='utf-8’ #修改编码
r.text #打印结果
爬虫的步骤
- 爬虫第一步:使用requests获得数据:
- 导入requests
- 使用requests.get获取网页源码
import requests
r = requests.get('https://book.douban.com/subject/1084336/comments/').text
- 爬虫第二步:使用BeautifulSoup4解析数据:
- 导入bs4
- 解析网页数据
- 寻找数据
- for循环打印
from bs4 import BeautifulSoup
soup = BeautifulSoup(r,'lxml')
pattern = soup.find_all('span','short')
for item in pattern:
print(item.string)
- 爬虫第三步:使用pandas保存数据:
- 导入pandas
- 新建list对象
- 使用to_csv写入
import pandas
comments = []
for item in pattern:
comments.append(item.string)
df = pandas.DataFrame(comments)
df.to_csv('comments.csv')
完整的爬虫示例如下:
import requests
r = requests.get('https://book.douban.com/subject/1084336/comments/').text
from bs4 import BeautifulSoup
soup = BeautifulSoup(r,'lxml')
pattern = soup.find_all('span','short')
for item in pattern:
print(item.string)
import pandas
comments = []
for item in pattern:
comments.append(item.string)
df = pandas.DataFrame(comments)
df.to_csv('comments.csv')