-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
请教一下为什么爬出来的数据80%以上都是图书? #10
Comments
Log里面有很多 not book item 的parse error,是因为京东不同的子域名对应的页面解析规则不一样,比如图书的不同的页面的解析方式可能是不一样,图书和全球购的的解析方式又是不一样的。我当时只能针对不同的页面写不同的解析策略,但是只能穷举我遇到的,那些后来出现的新的解析页面,我就只能记下日志了。详见https://github.com/samrayleung/jd_spider/blob/bcb8ba6eaae10e09cda105fe2d9de153c004e77d/jd/jd/spiders/jd.py#L65。 至于为什么80% 都是图书,这个当时我写这个项目的时候似乎是没有这个问题的。现在看来应该要重写优化一下代码了, 见https://github.com/samrayleung/jd_spider/blob/master/README.org#todo : ) |
非常感谢,但我在jd 网页的源码还是能看到 @Class="parameter2 p-parameter-list" 这个tag,但spiders似乎解析不出来 Kind remainders: 我重写了使用sqlite3 的Pipeline; 去重问题,我这里用sqlite3 直接加了Unique限制,测试没问题之后会contribute代码出来。 Thanks a lot |
你可以查看更多的jd 网页,你会发现不同商品的的属性值对应的HTML 可能不一样,比如那些下线的图书和新上架的图书的属性不一样,比如出版社 作家等,而图书和手机等商品的属性的HTML又不一样,所以解析的时候就很麻烦. :( |
关于 |
这个项目现在还能够运行? |
在提issue 之前,你有运行过这个项目么? |
我运行项目的时候,报错:No module named statscol.graphite。 具体的: scrapy crawl jindong |
你用的是python2, 这个项目是python3 的。此外,在运行之前,请确保你已经安装必要的依赖 |
@sunfeng90 如果不是必须使用statscol.graphite,注释掉Setting中的代码后,稍微修改一些语法,该项目在Python2/3都可以运行 |
该代码设计时默认采用了类似于深度优先策略,如果短时间爬取,会陷入一种类型商品中。如果超1000小时爬取,基本不存在这样的问题。 如果短时间内想采集各种类型的商品,可以人为限制商品category 代码范围 |
@CHARLESYAN1 如何修改? |
你好,我想请教下爬虫里面的数据存储问题,在pipelines文件中没有指定表名,如何存储到mongodb中呢,是不是需要先再mongodb中先创建db和Collection才行 |
|
好的,这个问题已经解决了,非常感谢!现在在跑评论这个爬虫的时候有遇到问题了,出现了错误,请帮忙看看。谢谢! |
建议新开一条issue, 而不是像现在这样"搭车"~ |
连续运行了一天,得到了几十万条去重后的商品,但发现80%都是图书。
Log中也有很多 not book item 的parse error
请问一下原因,谢谢
The text was updated successfully, but these errors were encountered: