首页 技术 正文
技术 2022年11月8日
0 收藏 490 点赞 1,376 浏览 1558 个字

一、创建工程

#在命令行输入
scrapy startproject xxx  #创建项目

二、写item文件

#写需要爬取的字段名称
name = scrapy.Field()  #例

三、进入spiders写爬虫文件

①直接写爬虫文件自己手动命名
新建一个.py文件即可
②通过命令方式创建爬虫文件
scrapy gensipder yyy "xxx.com"
命名不能于工程名相同,爬取的域名区域

四、写爬虫文件

start_urls    #爬虫第一次执行时爬取的网址域
初始换模型对象
iteam = TencentItem() #将iteam文件引入
iteam['xxx']= each.xpath("./td[1]/a/text()").extract()[0]
#xpath返回选择性的列表,extract将其转换成字符串,再取出列表中的第一个字符。
yield iteam #放到管道文件
#由于爬取的页面不止一页,所以需要调用请求回调函数。
#将请求重新发送给调度器入队列,出队列,交给下载器下载
#每次处理完一页的页面请求后,发送下一页的页面请求
yield scrapy.Request(url, callback=self.parse, dont_filter=True)
#函数名parse,有请求才会触发回调函数,yield发送到调度器
//写在每次循环执行完的外面。

五、写管道文件

首先定义初始化方法
def __init__(self):
self.filename=open("xxx", "w")
def process_item(self, iteam, spider):
dict(iteam) #字典转换成python的格式
json.dumps(dict(iteam), ensure_ascii = False) + "\n" #转换成json格式
self.filename.write(text.encode("utf-8")) #如果出现无法写入问题,要加上.encode("utf-8")
return iteam
关闭文件
def close_spider(self, spider):
self.filename.close()

六、配置settings文件
    找到ITEM_PIPELINES配置项,配置到管道文件

七、设置请求报头
    在settings文件中找到DEFAULT_REQUEST_HEADERS配置

八、运行程序

scrapy crawl 文件名

crawlspider创建应用改写

一、创建工程

scrapy gensipder -t crawl tencent tencent.com
#导入crawlspider类和rule规则
#from scrapy.spider import CrawlSpider, Rule
#导入链接规则匹配类,用来提取符合规则的链接
#from scrapy.linkextractors import LinkExtractor
#from TencentSpider.items import TencentItem
class TencentSpider(CrawlSpider): #继承CrawlSpider类
name = "xxx" #爬虫名
allow_domains = [] #控制爬虫的爬取域
start_urls = []
#正则匹配规则,Response里页面信息中符合规则的数据
pagelink = LinkExtractor(allow=("start=\d+"))
#批量调用请求方法
rules = [
#pagelink=url, 跟进链接调用方法,是否跟进链接True
Rule(pagelink, callback = "parseTencent", follow = True)
]斗鱼
将json格式转换成python格式,data段是列表
data = json.loads(response.text['data']
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,000
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,512
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,358
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,141
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,771
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,849