scrapy
legendary_Dragon
学不可以已
展开
-
xpath 定位同级倒数第二个元素
xpath 定位同级标签的倒数第一个a标签//div[contains(@class, 'paginator')]/a[last()]xpath 定位同级标签的倒数第二个a标签//div[contains(@class, 'paginator')]/a[last()-1]原创 2019-11-14 15:25:20 · 9448 阅读 · 0 评论 -
scrapy项目在Linux服务器上的部署
scrapy项目在Linux服务器上部署时,如果不想采用scrapyd(官方文档)的方式。启动命令如果使用scrapy crawl {spider},执行一次就会停止,如果使用死循环的cmdline方式也是执行一次就停止。最后在网上看到使用subprocess.Popen()方法,这个方法可以保证能够循环执行。但是,如果需要在liunx服务器上跑的话,还是需要加上shell=True这个参...原创 2018-06-27 09:57:53 · 2904 阅读 · 0 评论 -
Scrapy如何获取返回的headers里面的多个Set-Cookie
爬虫有时候需要先拿到cookie, 然后再用cookie去访问其他页面。当遇到返回的response的headers中包含多个Set-Cookie时,如何获取呢? 如果直接用requests模块:#获取响应的cookie html = requests.get(url,headers=Head,verify=False,timeout=maxExcuteTime) ...原创 2018-07-30 16:38:46 · 7620 阅读 · 0 评论 -
Scrapy 的headers中cookie不生效的问题
scrapy的cookie不生效,需要在项目的settings文件中修改# Disable cookies (enabled by default) .COOKIES_ENABLED = False这样你spiders中的cookie才会生效原创 2018-07-28 13:44:55 · 2381 阅读 · 0 评论 -
用xpath判断网页上的某个字段是否存在
数据采集时,多个同类型网页上字段种类、数量可能不一致。有时需要我们判断该字段是否在网页上,使用xpath可以用标签包含某个文本的方式。部分代码如下:在不知道Checks for plagiarism字段是否存在的情况下,可以用try: pq = doc.xpath("//p[contains(text(),'Checks for plagiarism')]")[0]except Exce...原创 2019-05-30 14:24:58 · 4872 阅读 · 0 评论 -
scrapy发送post请求
一些请求,用requests或者postman没有问题,而用scrapy出现问题。一部分原因是因为headers写的不够准确,还有一部分则是因为参数的原因。scrapy发送post请求,参数的value必须是字符串,requests则没有那么严格。def start_requests(self): yield scrapy.FormRequest( url='https:...原创 2019-06-14 09:13:08 · 2559 阅读 · 0 评论