PC端访问却变成移动端地址问题#python#scrapy
问题描述
用scrapy 爬取喜马拉雅,爬取PC端地址,入口链接的response没问题,但后面response看到的是移动端地址。。。。
spider 代码如下:
class SpxmlySpider(scrapy.Spider): name = ’ximalaya’ allowed_domains = ['ximalaya.com'] # 保存每页链接 start_urls = [’http://www.ximalaya.com/dq/all/{}’.format(num) for num in range(2, 3)] #先改为第二页试试 def parse(self, response):# 取出专辑链接print(response)mainurls = response.xpath(’//p[@class='albumfaceOutter']/a/@href’).extract()# for url in mainurls:# yield Request(url = url, callback=self.parse_details)print(mainurls[0])yield Request(url = mainurls[0], dont_filter=True, callback = self.parse_details)# TODO 为什么PC端访问会变成移动地址问题!!!!!!!!!!!!!!!!! def parse_details(self, response):item = XimalayaItem()print(response)......以下省略
控制台输出:

已经写了一个 middlewares.RotateUserAgentMiddleware,是生效的,输出内容也可以看出来。
是不是触发什么反爬机制?
问题解答
回答1:应该是你的headers没有设置user-agent的原因
回答2:request headers 好好配置一下, 判断是不是移动端一般是靠user-agent啥都没有也能访问到数据,也说明目标网站没怎么在意防盗链
相关文章:
1. html5 - javascript写业务有用到什么编程范式没?2. javascript - 一排三个框,各个框的间距是15px,距离外面的白框间距也是15px,这个css怎么写?3. javascript - vue 手机端项目在进入主页后 在进入子页面,直接按返回出现空白情况4. javascript - nodejs调用qiniu的第三方资源抓取,返回401 bad token,为什么5. html5 - vue-cli 装好了 新建项目的好了,找不到项目是怎么回事?6. javascript - immutable配合react提升性能?7. python3.x - python 中的maketrans在utf-8文件中该怎么使用8. javascript - jQuery post()方法,里面的请求串可以转换为GBK编码么?可以的话怎样转换?9. javascript - H5或者JS如何获得当前位置地理定位,只需要获取经纬度即可10. mysql - C#连接数据库时一直这一句出问题int i = cmd.ExecuteNonQuery();

网公网安备