实战:python爬虫经典小案例汇总


所有实例代码github地址

准备工作

学习目的

爬取网站或者应用内容,提取有用信息并且简单整理

开始最好模仿,不要自己写,错了找不到原因

实现手段

模拟浏览器或者App应用操作

应用:抢票,投票,报告分析,饮食地图,舆情监控

保存数据的方法大概可以分为几类:保存文本、保存二进制文件(包括图片)、保存到数据库

爬虫

1.首先是获取目标页面
 2.解析获取的网页中的元素,唯一定位,取得自己想要的(借助各种库工具,分析页面源码,)
 3.存储获取的数据,比如写入数据库

代理IP,第三方python文件获取,或者加入延时模块

通用技巧

1、打印 bs4 soup 对象的内容,格式化输出
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')

结构都类似,网站其他文章也能爬

实战二:Python爬取《三国演义》并且制作词云

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参数以后,正则表达式会将这个字符串作为一个整体   

分词库:结巴分词(jieba)学习    github结巴

及其他库 wordcloud,scipy,matplotlib 

 python词云 wordcloud 入门

 
 

实战三:福利-meizitu

有点难了


实战四:爬取花千骨并保存本地
实战一:爬取花千骨并保存本地
实战一:爬取花千骨并保存本地
实战一:爬取花千骨并保存本地

32个Python爬虫项目让你一次吃到撑







  • 5
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值