scrapy专利爬虫(三)——简单实际操作
来源:互联网 发布:唐筛标准年龄风险数据 编辑:程序博客网 时间:2024/05/18 01:51
scrapy专利爬虫(三)——简单实际操作
确定链接
在chrome中打开审查元素中的network选项,查看查询专利时发送的请求。观察后发现在每次查询的时候,浏览器都会先发送两条请求给服务器。
发送相关请求
经过观察发现,网站的查询流程是
- 先发送不带参数的post请求preExecuteSearch!preExcuteSearch.do将ip地址传给服务器
- 然后再发送biaogejsAC!executeCommandSearchUnLogin.do将查询参数发给服务器
填写表单,发送请求
这里只给出一个简单的例子,具体实现见github或代码附件
headers = { "Content-Type": "application/x-www-form-urlencoded"}searchExp = SearchService.getCnSearchExp(self.startDate, proposer, inventor, type)formData = { "searchCondition.searchExp": searchExp, "searchCondition.dbId": "VDB", "searchCondition.searchType": "Sino_foreign", "searchCondition.power": "false", "wee.bizlog.modulelevel": "0200201", "resultPagination.limit": BaseConfig.CRAWLER_SPEED}yield FormRequest( url="http://www.pss-system.gov.cn/sipopublicsearch/patentsearch/biaogejsAC!executeCommandSearchUnLogin.do", callback=self.parsePatentList, method="POST", headers=headers, formdata=formData, meta={ 'searchExp': searchExp, 'inventionType': type, 'startDate': self.startDate, 'proposer': proposer, 'inventor': inventor })
数据解析
通过观察chrome的Element,可以逐个找出我们所需要的元素,例如:
本工程使用beautifulsoup进行解析,对于带class的元素,使用find(attrs={"class": "className"})
的方法采集即可,其他参数也类似。这里提供简单的例子
itemSoup = BeautifulSoup(item.prettify(), "lxml")header = itemSoup.find(attrs={"class": "item-header"})pi['name'] = header.find("h1").get_text(strip=True)pi['type'] = header.find(attrs={"class": "btn-group left clear"}).get_text(strip=True)pi['patentType'] = QueryInfo.inventionTypeToString(type)content = itemSoup.find(attrs={"class": "item-content-body left"})
数据收集
同样的需要对item使用yield,然后将数据传入pipeline中进行处理,关于更多数据处理的详细内容将会在下节内容中介绍。
源码下载
- csdn
- github
阅读全文
0 0
- scrapy专利爬虫(三)——简单实际操作
- scrapy专利爬虫(一)——scrapy简单介绍
- scrapy专利爬虫(二)——请求相关
- scrapy专利爬虫(四)——数据处理
- Scrapy爬虫(三)——简易动态网页爬虫
- 用 Scrapy+Mariadb 实现汉典数据爬虫(二)——Scrapy简单介绍
- Scrapy框架学习(三)----基于Scrapy框架实现的简单爬虫案例
- Scrapy定向爬虫教程(三)——爬取多个页面
- Scrapy定向爬虫教程(三)——爬取多个页面
- 网络爬虫系列笔记(4)——Scrapy爬虫
- 爬虫实践(三)--了解scrapy
- 爬虫实践(四)--scrapy简单实践
- Scrapy爬虫(一)——你的第一个Scrapy爬虫
- Python 爬虫 —— scrapy
- 爬虫——Scrapy框架
- Scrapy爬虫(三):scrapy架构及原理
- 爬虫总结(三)-- cloud scrapy
- 基于scrapy的简单爬虫
- php JSON数据格式化方法
- Mysql表连接:外连接(左连接右连接)与内连接
- framework 比较靠谱的文章
- Android 下拉刷新上拉加载(解决item未满一页时的显示问题、添加网络错误等提示)
- Linux常用命令(压缩命令)
- scrapy专利爬虫(三)——简单实际操作
- BCGControlBar Debug报错解决
- 关于同步和异步
- Android Kotlin学习之路(一) —— 配置Kotlin
- Android studio 修改程序包名
- Android Studio2.3和Gradle-3.3的升级和配置问题
- iOS 调用系统原生拨打电话
- scrapy专利爬虫(四)——数据处理
- Android 与H5交互