当前位置: 首页 > news >正文

龙岩特色广州seo工资

龙岩特色,广州seo工资,珠海建站网站模板,一个企业该如何进行网络营销scrapy用于从网站中提取所需数据的开源协作框架。以一种快速、简单但可扩展的方式。 该爬虫框架适合于那种静态页面, js 加载的话,如果你无法模拟它的 API 请求,可能就需要使用 selenium 这种使用无头浏览器的方式来完成你的需求了 入门 imp…

scrapy用于从网站中提取所需数据的开源协作框架。以一种快速、简单但可扩展的方式。

该爬虫框架适合于那种静态页面, js 加载的话,如果你无法模拟它的 API 请求,可能就需要使用 selenium 这种使用无头浏览器的方式来完成你的需求了

入门

import scrapyclass BlogSpider(scrapy.Spider):name = 'blogspider'start_urls = ['https://www.zyte.com/blog/']def parse(self, response):for title in response.css('.oxy-post-title'):# 返回对象yield {'title': title.css('::text').get()}for next_page in response.css('a.next'):# 返回一个连接,爬虫框架会继续请求这个连接,得到响应后再回调 parse 方法yield response.follow(next_page, self.parse)

运行

scrapy runspider myspider.py

代码中通过 main 方式运行调试

# _*_ coding: utf-8 _*_
import os, sys, pprint
from scrapy.cmdline import executedef build_base_config():current_dir_path = os.path.dirname(os.path.abspath(__file__))# sys.path.append(current_dir_name)  # 入口文件 与模块查找路径、import 相对路径导入有影响print('\n当前路径 PATH:', current_dir_path)# pprint.pprint(sys.path)filepath, file_name = os.path.split(current_dir_path)spiders_name = file_namespiders_name = "bestbuy_new_ca"return current_dir_path, spiders_namedef run_product_review():"""运行产品评论"""current_dir_path, spiders_name = build_base_config()# 结果输出到本地 json 文件execute(['scrapy', 'crawl', spiders_name + '-products_review',f'-o{current_dir_path}/temp/product-review.json','-LDEBUG',f'-apath={current_dir_path}/temp/review-links.json','-acollect_exist=1'])if __name__ == '__main__':run_product_review()pass

简单说:使用了 scrapy.cmdline 提供的工具,执行的命令和在命令行中的一致,只是这种方式可以在 idea 工具中进行 debug 调试

入门和实际开发的不同之处:

  1. 开发上:
    a.入门:例子相对简单,工程结构也不怎么注重
    b.生产:相对复杂,在核心开发上差不多,也是如何去解析 html 结构,工程结构上为了调度和复用,可能会更复杂一点
  2. 调度平台:
    a.有使用一些开源的调度平台,因为是通用
    b.还有的可能会再开源的调度平台上,再包装一层自己的调度平台,仅用来展示(符合产品经理的设计)

官方对于动态内容的引导

https://docs.scrapy.org/en/latest/topics/dynamic-content.html

个人感觉这里提供的知识点还是非常具有参考价值的,简单总结:

  • 使用 scrapy shell 工具定位数据源
$ scrapy shell "quotes.toscrape.com/scroll"
(...)
>>> view(response)
  • 使用 scrapy fetch 工具获取响应到文件,这类似与查看网页源代码
scrapy fetch --nolog https://example.com > response.html
  • 复制请求:在浏览器中可以将请求复制为 curl 格式,然后可以使用 form_curl() 来使用
from scrapy import Requestrequest = Request.from_curl("curl 'https://quotes.toscrape.com/api/quotes?page=1' -H 'User-Agent: Mozil""la/5.0 (X11; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0' -H 'Acce""pt: */*' -H 'Accept-Language: ca,en-US;q=0.7,en;q=0.3' --compressed -H 'X""-Requested-With: XMLHttpRequest' -H 'Proxy-Authorization: Basic QFRLLTAzM""zEwZTAxLTk5MWUtNDFiNC1iZWRmLTJjNGI4M2ZiNDBmNDpAVEstMDMzMTBlMDEtOTkxZS00MW""I0LWJlZGYtMmM0YjgzZmI0MGY0' -H 'Connection: keep-alive' -H 'Referer: http""://quotes.toscrape.com/scroll' -H 'Cache-Control: max-age=0'")
  • 解析 JavaScript 代码:html 中有些网站会出现 <script>中间是大段的 json 数据有可能是变量,也有可能是初始化数据之类的</script>,就可以使用
比如是
var data = {"field": "value"};可以使用如下的方式匹配
pattern = r'\bvar\s+data\s*=\s*(\{.*?\})\s*;\s*\n'
json_data = response.css('script::text').re_first(pattern)
json.loads(json_data)
{'field': 'value'}
http://www.yidumall.com/news/92267.html

相关文章:

  • 小公司怎么做网站关键词推广优化排名品牌
  • 北京社区网站建设网站建设优化的技巧
  • 网页设计与制作简答题答案北海百度seo
  • 网站在线支付免费培训机构管理系统
  • 广州黄埔建网站百度一下 你知道首页
  • 跨境电商购物网站山东百度推广
  • 装修公司需要多少钱seo具体是什么
  • 有没有做网页接单的网站百度怎么注册公司网站
  • 论坛型网站怎么做百度推广获客
  • 网站推广方法有哪些深圳百度推广seo公司
  • 云主机 asp 网站谷歌推广代理
  • 做网站哪些公司比较靠谱seo工具不包括
  • centos6.6做网站十大软件免费下载网站排行榜
  • 佛山企业网站建设工作室网络营销推广方案
  • 做新闻网站盈利深圳龙岗区优化防控措施
  • 门业网站模板百度贴吧的互动社区
  • 淘宝的网站建设怎么建怎么去优化关键词
  • wordpress xml 导入失败珠海网站seo
  • 淘客网站如何做关键字搜索软件
  • 网站页面优化方法网络查询网站
  • 合肥中小型企业网站建设方案模板谷歌推广公司哪家好
  • 婚礼礼服网站界面设计google关键词挖掘工具
  • seo的优点360优化大师app下载
  • gzip 网站自助建站平台源码
  • 乌海建设局网站百度推广产品有哪些
  • 吧台 东莞网站建设seo人员的职责
  • 有哪些做ppt网站宁波怎么优化seo关键词
  • 广州新塘网站建设优化关键词的正确方法
  • 网页设计工作室网站网站规划
  • 海口网站建设介绍郑州seo顾问热狗