前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python scrapy

python scrapy

作者头像
用户5760343
发布2022-01-10 08:14:15
2990
发布2022-01-10 08:14:15
举报
文章被收录于专栏:sktj

xpath / // //a/@href 返回属性 //a/text() 返回文本 //div/* 返回所有元素 //a[@href]包含href的a //a[@href='xx'] //a[contains(@href,'xxx')] 模糊搜索 //a[not(contains(@href,'abc'))]

response.xpath('/html').extract() pagesource google浏览器中右击:copy xpath =//h1[@id='xxx']/span/text()

image.png

//*[@id='username']//text()


书中源码:https://github.com/scallingexcellence/scrapybook.git example: scrapy startproject properties cd properties vi items.py

image.png

scrapy genspider basic web #利用basic模板生成爬虫,限制在web

scrapy genspider -l 查看所有模板

以上语句生成的模板

image.png

更改basic.py

image.png

image.png

开始运行爬虫:scrapy crawl basic

修改item.py,用propertieitem替换

image.png

结果保持到文件

image.png

使用ItemLoader parse

image.png

ItemLoader中的用法

image.png

image.png

协议@,爬虫中的单元测试,运行:scrapy check basic

image.png

2 example:

image.png

image.png

多个URL:

image.png

水平和垂直爬取:

image.png

scrapy crawl manual -s CLOSESPIDER_TIMECOUNT=90 90秒后退出

3 exapmle

水平和垂直爬虫类crawl

image.png

image.png

爬虫,登陆,from_response?

image.png

image.png

4 example: login ??

parse_item用selector做源头,提升性能

image.png

5 example:https://www.jianshu.com/p/9f7540614b26

配置

scrapy settings --get CONCURRENT_REQUESTS scrapy settings -s CONCURRENT_REQUESTS=6 DOWNLOADS_DELAY CONCURRENT_ITEMS 每次请求并发数的最大文件数 DNSCACHE_ENABLED

image.png

HTTPCACHE_ENABLED 离线抓取 ROBOTSTXT_OBEY 是否参考robots.txt COOKIES_ENABLED IMAGES_STORE FILES_STORE FILES_EXPIRES REDIRECT_PRIORITY REDIRECT_MAX_TIMES

下载图片的配置

image.png

架构

image.png

加日期处理Pipeline

image.png

image.png

信号??

一个可以测量吞吐量和延迟的扩展

pip install trep

6 example:一个写入elasticsearch的pipline 7 example:pipeline使用google geocoding api来进行地理编码 8 example:pipeline 写入mysql 9 example:pipeline 写入redis 10 exapmle:pipeline进行CPU密集型和阻塞操作 computation.py @defer.inlineCallbacks??????? 11 example:调用sh

image.png

image.png

image.png

12 example:scrapyd

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.05.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • scrapy genspider -l 查看所有模板
  • 以上语句生成的模板
  • 更改basic.py
  • 修改item.py,用propertieitem替换
  • 结果保持到文件
  • 使用ItemLoader parse
  • scrapy crawl manual -s CLOSESPIDER_TIMECOUNT=90 90秒后退出
  • 水平和垂直爬虫类crawl
  • 爬虫,登陆,from_response?
  • parse_item用selector做源头,提升性能
  • 配置
    • 下载图片的配置
    • 架构
    • 加日期处理Pipeline
    • 信号??
    • 一个可以测量吞吐量和延迟的扩展
    • pip install trep
    相关产品与服务
    Elasticsearch Service
    腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档