代码编织梦想

从贵州省数据开放平台下载科技特派员csv文件,文件地址为http://gzopen.oss-cn-guizhou-a.aliyuncs.com/科技特派员.csv

  1. 使用命令创建项目
>>>scrapy startproject csvfeedspider
  1. 进入项目目录
>>>cd csvfeedspider
>>>scrapy genspider -t csvfeed csvdata gzdata.gov.cn
  1. 编写items文件
# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html

import scrapy


class CsvfeedspiderItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    # 姓名
    name = scrapy.Field()
    # 研究领域
    SearchField = scrapy.Field()
    # 服务分类
    Service = scrapy.Field()
    # 专业特长
    Specialty = scrapy.Field()

  1. 编写爬虫文件csvdata.py
from scrapy.spiders import CSVFeedSpider
from csvfeedspider.items import CsvfeedspiderItem

class CsvdataSpider(CSVFeedSpider):
    name = 'csvdata'
    allowed_domains = ['gzdata.gov.cn']
    start_urls = ['http://gzopen.oss-cn-guizhou-a.aliyuncs.com/科技特派员.csv']
    headers = ['name', 'SearchField', 'Service', 'Specialty']
    delimiter = ','
    quotechar = '\n'

    # Do any adaptations you need here
    def adapt_response(self, response):
        return response.body.decode('gb18030')

    def parse_row(self, response, row):
        i = CsvfeedspiderItem()
        i['name'] = row['name']
        i['SearchField'] = row['SearchField']
        i['Service'] = row['Service']
        i['Specialty'] = row['Specialty']
        return i

在adapt_response()方法中,我们对response做了编码处理,使之能正常的提取中文数据。

  1. 运行爬虫
>>>scrapy crawl csvdata

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/thekingspath/article/details/111093327

python格式化输出的三种方式-爱代码爱编程

方式一:字符串拼接 host=input("please input your host:") hostname=input("please input your hostname:") ip=input("please input your ip:") ns=input("please input your ns:") hotel=''

php laravel 控制器controller 调用 python 的一些问题-爱代码爱编程

最近有个项目要用php 调用python 来执行一些实时采集功能 以前这个项目是稳定运行的,时隔半年后,对方数据源 over 掉了要换数据源。 结果换完后,死活不执行了。 debug 一天一夜后,linux 上命令行执行妥妥的。。。。。 写进 controller ?oh shit! 能看到返回 串,却看不到结果?? 都快整哭我了,后面沉着一口气,决定

RuntimeError: ‘cryptography‘ package is required for sha256_password or caching_sha2_password auth m-爱代码爱编程

执行 python manage.py runserver 时报错: 。。。。。。 File "/Users/jason93/Desktop/PythonProject/django_drf/venv-djdrf/lib/python3.9/site-packages/pymysql/_auth.py", line 204, in sha2_rsa_

接口自动化测试,使用Python的pymysql模块连接数据库,实现增删改查操作-爱代码爱编程

文章目录 1、需求场景2、需求实现 1、需求场景 接口自动化测试中,需要测试A接口,该接口是获取当前图片的相关图片数据,匹配规则是:相关图片至少有4个指定标签组下的标签,需与主图片(当前图片)的标签相同。 手工测试的步骤是: 1、先到数据库resources_attrs表查询主图片关联的标签属性是哪些:结果1 2、请求相关图片接口,获取到该接

Sklearn机器学习(1)——fit,transform和fit_transform的区别-爱代码爱编程

引言 fit和transform没有任何关系,仅仅是数据处理的两个不同环节,之所以出来fit_transform这个函数名,仅仅是为了写代码方便,会高效一点。sklearn里的封装好的各种算法使用前都要fit,fit相对于整个代码而言,为后续API服务。fit之后,然后调用各种API方法,transform只是其中一个API方法,所以当你调用transf

机器学习实战第2版 00 python虚拟环境在Ubuntu/win(anaconda&virtualenv)系统下的配置-爱代码爱编程

python 虚拟环境配置 虚拟环境的作用关于本帖虚拟环境的配置Ubuntu1 `安装`虚拟环境的命令2 `创建`虚拟环境的命令3 `使用`虚拟环境的命令4 后台使用jupyter notebookWindows cmd/anaconda1 Win在cmd下使用 virtualenv2 Win下使用anacondaanaconda常规操作anaco

puppeteer爬取数据 await与forEach的问题解决方法-爱代码爱编程

原文:https://www.jb51.cc/python/454296.html 在使用puppeteer爬取数据时,遇到了个报错问题,才发现了这个forEach与await的问题。 一、问题 利用搜集到的url,再去爬去对应数据时,我采用了forEach循环爬取,去遇到提示如下:UnhandledPromiseRejectionWarning: Er

Python网络爬虫学习笔记(三)正则表达式-爱代码爱编程

正则表达式 正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索、替换、匹配验证。 1 实例引入 正则表达式匹配 ,也就是用一定的规则将特定的文本提取出来 。 开源中国提供了正则表达式测试工具: https://tool.oschina.net/regex/ 例子: Hello, my phone number is 01

Python爬取‘某车之家’车型数据:成果(requests&BeautifulSoup,含代码)及问题(Scrapy)-爱代码爱编程

一、背景1、目的: 爬取【某车之家】全部车型数据,用于车贷业务系统的车型选项。2、结果: (1)数据内容:共43401条数据,包括【某车之家】全部在售(即将销售)及停售车型;(2)数据结构 二、说明1、通过requests&BeautifulSoup爬取成功,但耗时较长(约3.5小时),且中途有断掉2、Scrapy框架爬取不成功,待解决;【请大神

Python爬取房天下二手房信息-爱代码爱编程

实现python爬取房天下网站所有城市的二手房信息 文章目录 一、相关知识二、目标三、实现思路1.准备工作2.获取所有城市及对应网址3.遍历城市,获取所需信息4.将分解的信息存到csv中四、完整代码五、实现结果 一、相关知识 BeautifulSoup4使用python将信息写入csvimport csv with open("11.csv

使用python代码爬取壁纸-爱代码爱编程

本人小白,刚学习爬虫不久。下面展示的是我爬取喜欢的壁纸网站壁纸的代码,因为网站是国外的,所以可能受网络影响比较大,耐心等待即可。还请大家多多指教!有什么问题可以留言,我看到就会回复,谢谢。 在这里插入代码片 import requests import parsel head = {'user-agent': 'Mozilla/5.0 (Windo