2.3.2 开启爬虫
①下令行 cd C:\Users\Administrator\PycharmProjects\nz_comments
(这是我nz_comments的目次)
②下令行 scrapy crawl comment
乐成爬了一点信息。报错。
爬了198个。回到下令行去检查一下报错信息。
MySQLdb._exceptions.DataError: (1406, “Data too long for column ‘comment’ at row 1”)
批评数据太长了???岂非是之前设置的300个varchar还不敷吗?
到网页中去找到这个批评,看它到底有多长。这个报错信息是第198条,对应批评页第10页。
https://movie.douban.com/subject/26794435/comments?start=200&limit=20&status=P&sort=new_score
再重新爬。
①下令行 cd C:\Users\Administrator\PycharmProjects\nz_comments
(这是我nz_comments的目次)
②下令行 scrapy crawl comment
乐成爬取了220条,又报错,原因是
[scrapy.spidermiddlewares.httperror] INFO: Ignoring response : HTTP status code is not handled or not allowed
分析原因:
大概是USER-AGENT单一,纵然更换了ip仍然被发现了。
管理办法:
在middlewares.py文件里编写中间件NzUserAgentMiddleware,接纳USER-AGENTS随机选取USER-AGENT。
①导入模块
②编写中间件NzUserAgentMiddleware
③启用中间件NzUserAgentMiddleware
再重新爬。
①下令行 cd C:\Users\Administrator\PycharmProjects\nz_comments
(这是我nz_comments的目次)
②下令行 scrapy crawl comment