欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

scrapy

程序员文章站 2022-03-02 22:29:26
...

Scrapy

多个spider对应不同的pipelines

给spider设置自己的custom_settings

下载的文件重命名

继承ImagesPipeline,重写file_path函数

csv文件按指定的顺序输出

参考

访问动态页面

方式1:重写中间件,采用*面浏览器selenium,禁用原本的middleware
方式2:selenium最好放置在spider中,如果存在下载图片任务,如果selenium放置在middleware中,下载图片也会经过selenium,每下载一个图片会打开一个浏览器,效率低。

no module named ‘win32api’

$ pip install pypiwin32

访问中的所有文字内容

中没有其他标签时,可以使用xpathData.xpath(‘./text()’).extract()提取

中还有其他标签,使用xpathData.xpath(‘string(.)’).extract()提取

可以考虑使用preceding,参考

爬取天猫时提示登录

Selenium调用geckodriver启动火狐(或chrome),当遇到爬虫不好处理的情况时(登录或者输入验证码)采用人工输入的方式

driver = webdriver.Firefox(executable_path=r'C:\geckodriver.exe')
driver.get(request.url)
time.sleep(10)
driver.find_element_by_xpath('//*[@class="sn-container"]/p/a[1]').click()
print("please log in , and input message in search box ")
print("waiting...")
time.sleep(60)

启动火狐后,进入到登录界面,扫描二维码登录,在输入框中搜索需要检索的数据,再切换到需要的页面吗,爬虫开始工作。爬取完当前的页面,提示(人工)切换到下一个页面。

geckodriver是一个控制浏览器的工具

搭建cookies池

参考