记录一下python爬虫demo
只有爬取数据和存入EXCEL的功能。
from urllib import request
import re
from xlwt import *
需要以上三个依赖。
from urllib import request :模拟发送请求
import re :正则
from xlwt import * :wt意味着write 写出,用于将爬取结果写出到EXCEL中
url = 'https://movie.douban.com/chart'
head = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) '
'Chrome/18.0.1025.166 Safari/535.19'}
首先定义两个变量
url :目标网站的访问路径
head :并不是一定需要,有些网站有反爬策略,在请求头中加’User-Agent’,能把自己伪装成手动访问,而非机器访问。
req = request.Request(url, headers=head)
response = request.urlopen(req)
html = response.read().decode('utf-8')
print(html)
此时获取响应的文本信息。可自行打印控制台分析。
infos = re.findall(r'<a href="https://movie.douban.com/subject/.*?>([\s\S]*?[\w]+)', html)
print(infos)
用re中的findall()函数,第一个参数为正则方式,第二个参数为文本信息。
也就是在(参数2)html中,找出符合(参数1)正则规律的文本。
返回的结果以集合的形式存储。
file = Workbook(encoding='utf-8')//创建一个excel文件
table = file.add_sheet('data')//新建sheet页
i = 0;
for name in infos:
print(name.strip())
table.write(i, 0, i+1)
table.write(i, 1, name.strip())
i = i+1
file.save(r'C:\Users\xxx\Desktop\data.xls')
将infos内容遍历出来,用table.write() 函数写入excel中,
table.write(参数1,参数2,参数3):
参数1:excel的行号
参数2:excel的列号
参数3:写入的内容
最终file.save(r’C:\Users\xxx\Desktop\data.xls’)
以绝对路径方式指定文件存储路径。