推荐下我自己创建的Python学习交流群923414804,这是Python学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习Python的资料和入门教程。
笔者是头条的深度使用者,经常用头条完成“看片”大业。若不信的话可以试试在头条搜索街拍,返回的都是一道道靓丽的风景线。
想把图片存下来,该怎么办呢?我们可以用Python爬虫啊。
1、工具
Python3.5,Sublime Text,Windows 7
2、分析(第三步有完整代码)
可以看到搜索结果默认返回了 20 篇文章,当页面滚动到底部时头条通过 ajax 加载更多文章,浏览器按下 F12 打开调试工具(我的是 Chrome),点击 Network 选项,尝试加载更多的文章,可以看到相关的 http 请求:
此次返回Request URL:
http://www.toutiao.com/search_content/?offset=20&format=json&keyword=%E8%A1%97%E6%8B%8D&autoload=true&count=20&cur_tab=1
来试试返回了什么
发现我们需要的东西在'data'里,打开一篇文章,来试试如何下载单篇图片。
输出
['http://p3.pstatp.com/large/159f00010b30d6736512', 'http://p1.pstatp.com/large/1534000488c40143b9ce', 'http://p3.pstatp.com/large/159d0001834ff61ccb8c', 'http://p1.pstatp.com/large/1534000488c1cd02b5ed']
首先用BeautifulSoup解析网页,通过 find 方法找到 article-main 对应的 div 块,在该 div 块下继续使用 find_all 方法搜寻全部的 img 标签,并提取其 src 属性对应的值,于是我们便获得了该文章下全部图片的 URL 列表。
接下来就是保存图片。
基本步骤就是这么多了,整理下爬取流程:
- 指定查询参数,向 http://www.toutiao.com/search_content/ 提交我们的查询请求。
- 从返回的数据(JSON 格式)中解析出全部文章的 URL,分别向这些文章发送请求。
- 从返回的数据(HTML 格式)提取出文章的标题和全部图片链接。
- 再分别向这些图片链接发送请求,将返回的图片输入保存到本地(E:\jiepai)。
- 修改查询参数,以使服务器返回新的文章数据,继续第一步。
3、完整代码
同理,只需修改代码,就可以下载想要的关键词,自己动手,想啥有啥。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python爬虫实战——爬取今日头条美女图片 - Python技术站