##爬取淘宝
使用爬虫框架scrapy爬取淘宝
###一.创建项目
1.安装scrapypip install scrapy
2.选择一个目录开启一个scrapy项目scrapy startproject taobao
3.新建一个名为mytaobao的爬虫scrapy genspider mytaobao taobao.com
1.抓包分析
这次使用手机抓包分析,抓包工具Charles
听说做app测试或者接口测试都需要使用到抓包工具(没做过,不晓得)
网上抓包工具的配置教程很多例如https://www.jianshu.com/p/5539599c7a25
配置好之后在手机上打开斗鱼APP找到颜值频道,清空Charles里面的内容
下拉刷新当前页面,然后下翻几页
删除Charles上与douyu域名无关的信息
大概留下如图内容:
逐条查看一下找到有主播名称的内容
https://apiv2.douyucdn.cn/gv2api/rkc/roomlist/2_201/0/20/ios?client_sys=ios
https://apiv2.douyucdn.cn/gv2api/rkc/roomlist/2_201/20/20/ios?client_sys=ios
https://apiv2.douyucdn.cn/gv2api/rkc/roomlist/2_201/40/20/ios?client_sys=ios
https://apiv2.douyucdn.cn/gv2api/rkc/roomlist/2_201/60/20/ios?client_sys=ios
其中唯一区别是/xx/20/ios?client_sys=ios 合理推断这是页数
从json里面发现几个比较关键的内容
房间id:room_id
房间名字:room_name
主播名字:nickname
主播封面:vertical_src
主播城市:anchor_city
今天爬一下百度新闻的新闻标题
1.首先分析页面
进入百度新闻百度新闻首页:http://news.baidu.com/
在搜索栏输入需要搜索的内容例如:浙江大学城市学院
再选择搜索的内容为新闻标题
点击搜索后页面跳转到以下url:
http://news.baidu.com/ns?word=浙江大学城市学&tn=newstitle&from=news&cl=2&rn=20&ct=0
点击下第二页发现url中增加了pn=20
:
http://news.baidu.com/ns?word=浙江大学城市学&pn=20&tn=newstitle&from=news&cl=2&rn=20&ct=0
点击第三页发现pn=40
:
http://news.baidu.com/ns?word=浙江大学城市学&pn=20&tn=newstitle&from=news&cl=2&rn=20&ct=0
合理的推断出页数+1
,pn+20
昨晚使用不熟悉的xpath语法解析百度新闻页面碰到了好多坑,今天继续通过简单的豆瓣图书进行练习
1.分析页面
进入豆瓣首页https://www.douban.com/
在第一行导航栏找到读书:https://book.douban.com/
进入页面之后发现有很多内容,由于豆瓣没有反爬措施,所以多抓取些数据
大致浏览后发现应该能通过标签查找到全部图书,找到所有热门标签
点击所有热门标签https://book.douban.com/tag/?view=cloud
浏览页面后大致可以确定这个入口是合适的一个入口
2.分析入口页面
打开浏览器自带的开发者模式找到其中一个标签:小说
1 | <td><a href="/tag/小说">小说</a> |
点击小说:https://book.douban.com/tag/小说
发现它的url就是域名https://book.douban.com/
和/tag/小说
的组合