实战:python爬虫经典小案例汇总
所有实例代码github地址
准备工作
学习目的
爬取网站或者应用内容,提取有用信息并且简单整理
开始最好模仿,不要自己写,错了找不到原因
实现手段
模拟浏览器或者App应用操作
应用:抢票,投票,报告分析,饮食地图,舆情监控
保存数据的方法大概可以分为几类:保存文本、保存二进制文件(包括图片)、保存到数据库
爬虫
1.首先是获取目标页面
2.解析获取的网页中的元素,唯一定位,取得自己想要的(借助各种库工具,分析页面源码,)
3.存储获取的数据,比如写入数据库
代理IP,第三方python文件获取,或者加入延时模块
通用技巧
print soup.prettify()
2、
#请求头 伪装浏览器
headers={
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'zh-CN,zh;q=0.8',
'Connection':'keep-alive',
'Host':'www.meizitu.com',
'Upgrade-Insecure-Requests': '1',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3013.3 Safari/537.36'
}
3、urllib2 在 python3.x 中被改为urllib.request
import urllib.request
python 3.x中urllib库和urilib2库合并成了urllib库。。
其中urllib2.urlopen()变成了urllib.request.urlopen()
urllib2.Request()变成了urllib.request.Request()
实战
with open('F:/huaqiangu.txt', 'w') as f:
f.write(link.text + '\n')
结构都类似,网站其他文章也能爬
urls = ['https:……/310{}.html'.format(str(i)) for i in range(224, 344, 1)]
with open('./sanguo.txt', 'w', encoding='utf-8') as f: #要在循环外部打开
我用format进行了改进,以后观察链接多看几个,我一开始看的末位4,爬6个就空了,结果规则是224
TMD编码问题好烦,搞不懂,别人代码
re的一般步骤是先使用re.compile()【写规则】函数,将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。
不使用re.S参数,则只在每一行内进行匹配,如果一行没有,就换下一行重新开始,不会跨行。而使用re.S参数以后,正则表达式会将这个字符串作为一个整体
及其他库 wordcloud,scipy,matplotlib
实战三:福利-meizitu
有点难了
实战四:爬取花千骨并保存本地
实战一:爬取花千骨并保存本地
实战一:爬取花千骨并保存本地
实战一:爬取花千骨并保存本地
更多推荐
所有评论(0)