爬虫的第一步,是需要获取数据。在Python中,可以通过urllib包或者Requests包来进行数据的获取。
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包
import requests #导入requests库
r = requests.get('https://www.baidu.com/')
#使用requests.get方法获取网页信息
r
r.text #打印结果
r.encoding='utf-8’ #修改编码
r.text #打印结果
爬虫第一步:使用requests获得数据:
import requests
r = requests.get('https://book.douban.com/subject/1084336/comments/').text
爬虫第二步:使用BeautifulSoup4解析数据:
from bs4 import BeautifulSoup
soup = BeautifulSoup(r,'lxml')
pattern = soup.find_all('span','short')
for item in pattern:
print(item.string)
爬虫第三步:使用pandas保存数据:
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')