-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: