爬虫
AdamShyly
努力学习
展开
-
PythonCrawler scrapy 获取全站数据
当第一个Rule的href正则匹配到目录数据之后进行follow跟进,这时候第二个Rule开始进行href正则匹配获取跟进下一页的数据import scrapyfrom scrapy.linkextractors import LinkExtractorfrom scrapy.spiders import CrawlSpider, Rulefrom dangdang1.items import Dangdang1Itemclass BookSpider(CrawlSpider):原创 2022-05-07 01:29:53 · 187 阅读 · 0 评论 -
PythonCrawler 文件名带有/ 导致 urlretrieve FileNotFoundError
由于文件名带有'/'而被识别成目录的标识符,所以可以将半角 '/' 转换为全角 '/'from bs4 import BeautifulSoupfrom urllib import request as ureimport refirst_url = 'https://www.starbucks.com.cn/menu/'base_url = 'https://www.starbucks.com.cn'headers = { 'User-Agent': 'Mozilla/5.0原创 2022-05-03 19:12:19 · 596 阅读 · 0 评论 -
PythonCrawler jsonpath 下载服务器响应接口json数据图片
jsonpath 可以直接读取通过json.load 格式化服务器响应的json数据,而不必保存到本地from urllib import request as ure, parse as upaimport json, jsonpathbase_url = 'xxxxxxxxxxx'headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like.原创 2022-05-02 17:00:23 · 431 阅读 · 0 评论 -
PythonCrawler urllib 多线程获取proxy池爬取数据
此次实验使用多线程获取proxy池来增加爬虫爬取下载数据的速度,顺便测试一下urllib handler代理注意由于线程爬取数据过快可能会导致ip被封,要适当增加time.sleep否则会出现503错误,也可以改变获取proxy_ip的策略,我这里是采取random随机获取proxy列表下标,也可以试试轮询策略,但注意要加锁from urllib import request as ureimport randomimport threadingimport timeimport ssl原创 2022-05-02 01:50:18 · 299 阅读 · 0 评论 -
Python 正则表达式 match、findall、search
今天在练习爬虫的时候,居然发现不会用python正则提取数据,特地来总结一下python的常用三个数据提取函数先来看一下 match 和 search 的区别:match 并不会扫描整个字符串,只会从字符串的开始位置进行匹配;而 search 会扫描整个字符串,但只会返回第一个匹配到的值import resrc = 'abcde'res = re.match(r'(a)', src)print(res)res = re.search(r'(a)', src)print(res)原创 2022-05-01 21:25:36 · 2249 阅读 · 0 评论