数据爬取问题

数据爬取问题

懂球帝页面进行改版后所有的文章均放在动态标签页下,链接为https://www.dongqiudi.com/articles,经过分析后发现其中的文章会在后面添加一串数字,请问如何在爬虫程序中构造url?还有就是抓取url,发表时间和图片信息该如何编写xpath?请老师解答

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!

1、打开懂球帝网站后,先在首页打开浏览器的'检查',选择NetWork---->Fetch/XHR,再点击动态标签,可以看到返回的json文件

http://img1.sycdn.imooc.com//climg/6111d7220945ac8413170721.jpg

2、打开其中一个json文件,可以看到是英超,next是下一页数据的url,articles是页面中的每个文章

http://img1.sycdn.imooc.com//climg/6111d7a809ec19bb09660904.jpg

根据next可以分析出请求的url

http://img1.sycdn.imooc.com//climg/6111d8eb094ee8ce14420316.jpg

3、articles中的url是当前文章的url,published_at是发表时间

http://img1.sycdn.imooc.com//climg/6111d93d095d602709550693.jpg

在处理页码请求返回的数据时,可以使用json.loads()解析数据后使用for循环得到每个具体的文章,再使用get获取相应的数据

http://img1.sycdn.imooc.com//climg/6111d999091cf4f814720545.jpg

在解析详情页数据时,url和发表时间直接使用response.request.meta[]取值即可

http://img1.sycdn.imooc.com//climg/6111da4e0928e0fa08690135.jpg

4、图片可以直接获取图片的url

http://img1.sycdn.imooc.com//climg/6111da860993d3a411720073.jpg

http://img1.sycdn.imooc.com//climg/6111da9b093eb38e12390168.jpg

祝学习愉快!

  • 钱榕 提问者 #1

    使用提供的xpath无法找到图片的url

    http://img1.sycdn.imooc.com//climg/61134d38095a795d28801578.jpg

    还有就是获取到了下一页的url后应该如何进行下一步?是不是要重新调用start_request方法以发送请求?

    2021-08-11 12:08:34
  • 好帮手慕美 回复 提问者 钱榕 #2

    同学,你好!

    1、同学可以看下获取详情页时请求的url是什么,若是下图中的url,则需要打开对应的网址后获取图片

    http://img1.sycdn.imooc.com//climg/6113632b09794ff610050557.jpg

    2、获取到下一页的url后,应重新调用handle_page_response()方法去处理页码请求返回的数据

    祝学习愉快!

    2021-08-11 13:45:33
  • 钱榕 提问者 回复 好帮手慕美 #3
    该如何重新调用handle_page_response方法,直接调用会显示没有定义的错误,还是要将news_list后的代码重新输入一遍?


    2021-08-11 14:33:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
4.入门主流框架Scrapy与爬虫项目实战
  • 参与学习           人
  • 提交作业       107    份
  • 解答问题       1672    个

Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师