1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【京东】scrapy爬虫抓取京东图书详情 评论

【京东】scrapy爬虫抓取京东图书详情 评论

时间:2020-08-22 23:24:57

相关推荐

【京东】scrapy爬虫抓取京东图书详情 评论

1 前期工作

参考

scrapy爬取京东商城某一类商品的信息和评论(一)

scrapy爬取京东商城某一类商品的信息和评论(二)

测试

打开京东图书在console中输入$('ul.gl-warp > li').length,结果为30,说明该页面是js动态页面输入document.getElementsByClassName('page')[0].scrollIntoView(true),可以完成拖拽动作

注释:获取类名为 page 的元素,见【说明】span#J_resCount::text获取id属性为J_resCount的span标签的文本

span.J_resCount::text获取class属性为J_resCount的span标签的文本

准备

打开docker,开启splash端口

sudo service docker start

sudo docker run -p 8050:8050 scrapinghub/splash

2 抓取目标确定

搜索页抓取:ID/ 折扣价/ 总评论数/ 书店名详情页抓取:书名、出版社、作者、ISBN、出版时间、类型(不能按照顺序来)

ID / 书名 / 原价 / 折扣价 / 作者 / 出版日期 / 出版社 / 总评分 / 总评论数 / 书店名 / ISBN /类型

附录: win10 中的BUG

1 (已解决)找不到splash模块 No module named ‘splash’

描述:装好scrapy-splash后,依旧无法运行爬虫,并报错原因:没有安装splash解决办法:安装splash,打开端口,运行爬虫

1. 下载splash包 `pip install scrapy-splash`2. 官网下载docker `/editions/community/docker-ce-desktop-windows`3. 利用docker 运行splash 'docker run -p 8050:8050 scrapinghub/splash'4. 验证splash是否打开,网页输入'http://localhost:8050'4. 编辑scrapy

参考:scrapy-splash爬取JS生成的动态页面

参考:Windows Docker 安装

2 (已解决)报错 ModuleNotFoundError: No module named ‘twisted.enterprise”

安装完docker、splash后,运行爬虫报错,并且原先能正常运行的爬虫也出现同样错误

怀疑1:安装包损坏,得重装scrapy

操作:重新安装scrapy后,没用

怀疑2:但运行不带from twisted.enterprise import adbapi的爬虫没问题,而且以前这条命令能执行,但现在不能执行,怀疑twisted需要升级

操作:升级twisted ,conda upgrade twisted,问题解决

3 (已解决)运行爬虫出现 ImportError: cannot import name ‘_win32stdio’

描述:

更新splashpip install -- upgrade splash,运行爬虫出现ImportError: cannot import name '_win32stdio'

参考:Scrapy在Python3下报错:“cannot import name ‘_win32stdio’”解决办法

4 (已解决)运行quotes爬虫,报错 ModuleNotFoundError: No module named ‘splash.downloadermiddlewares’

windows解决不了了,换linux了。。后续:时隔多日,杀回windows,用conda重装twistedscrapy就解决了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。