- 博客(9)
- 收藏
- 关注
原创 pipelines常用的方法
# -*- coding: utf-8 -*-# Define your item pipelines here## Don't forget to add your pipeline to the ITEM_PIPELINES setting# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.htmlimport pymssqlimport osfrom tutorial import mydbimport urlli
2020-09-17 20:03:42
448
原创 对于scrapy的使用
scrapy完整运行图下载器中间件(Downloader Middleware)如上图标号4、5处所示,下载器中间件用于处理scrapy的request和response的钩子框架,可以全局的修改一些参数,如代理ip,header,更换user-agent等使用下载器中间件时必须激活这个中间件,方法是在settings.py文件中设置数字越小,越靠近引擎,数字越大越靠近下载器,所以数字越小的,processrequest()优先处理;数字越大的,process_response()优先处理;若需要关
2020-09-17 19:59:15
166
原创 对于scrapy的settings的使用
BOT_NAME = ‘firstspider’ # 项目的名字,用来构造默认 User-Agent,同时也用来log,使用 startproject 命令创建项目时其也被自动赋值。SPIDER_MODULES = [‘firstspider.spiders’] #Scrapy搜索spider的模块列表 默认: [xxx.spiders]NEWSPIDER_MODULE = ‘firstspider.spiders’ #使用 genspider 命令创建新spider的模块。默认: ‘xxx.sp
2020-09-17 19:41:54
435
原创 对start_request进行重构以及二次请求时如何携带cookies
接收接口传输过来的数据,用CrawlerRunner会先实例化spiders下的蜘蛛文件里的class类,这个时候调用动态cookie就可以使用重构start_requests 的方法抓取详情页时,会有一些产品信息的接口需要通过参数去再次访问,同时需要cookie 就会需要meta继续传递获取的动态cookie,不然没有cookie访问时,会出现429状态码。解决429的方法 import randomDOWNLOADER_MIDDLEWARES = {‘xxxxx.middlewares
2020-09-17 19:19:55
403
原创 scrapy获取实时cookie
from scrapy.http.cookies import CookieJar cookie_jar = CookieJar() cookie_jar.extract_cookies(response, response.request) print(cookie_jar) cookie_dict = dict() cookie_list ='' for k, v in cookie_jar._cookies.items(): f...
2020-09-02 16:55:50
1247
1
原创 localhost输入起始url启动scrapy
import jsonfrom klein import Kleinfrom scrapy import signalsimport urllibfrom scrapy.crawler import CrawlerRunnerimport reapp = Klein()class MyCrawlerRunner(CrawlerRunner):def crawl(self, crawler_or_spidercls, *args, **kwargs):# keep all items scr
2020-09-02 16:53:09
5990
原创 Python在linux下脚本后台运行
创建脚本[root@local test]#touch start.sh[root@local test]# cat start.sh#! /bin/shpython app.py &启动进程[root@local test]#./start.sh直接用&启动进程:python app.py &直接关闭ssh终端会导致进程退出
2020-09-02 16:43:36
122
原创 python启动web服务只能本地localhost访问无法从外部访问
无法从其他服务器通过ip+端口访问只能用localhost+端口或者127.0.0.1+端口访问,无法通过本机ip+端口访问解决方案关闭防火墙,启动服务更改为 app.run() host=0.0.0.0,port=7001用localhost 或者127.0.0.1可以会使用ipv6在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该
2020-09-01 12:02:45
6396
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人