
爬虫
爬虫
迷雾总会解
我来,我见,我征服!
展开
-
python爬虫 -13- 反爬虫分析
User-Agent识别修改请求头信息里的User-Agent请求头信息识别比如说referer, content-type,请求方法(POST, GET)构造相应的请求头信息。比如说referer,我们在提取URL的时候,要把URL所在页面的URL也存储起来,并放到request.headers。异步加载我们需要分析页面的网络请求,从中找出和我们想要的数据相关的请求,并分析它的请求头信息、参数、cookie,然后根据这些信息构造我们的请求。通常来说都是ajax请求,也有图片请求,比如图片的la原创 2020-08-19 10:40:42 · 221 阅读 · 0 评论 -
python爬虫 -12- splash(简单介绍和爬取京东)
文档 ???? 官方文档安装docker pull scrapinghub/splashdocker run -it -d -p 8050:8050 --rm scrapinghub/splash使用在浏览器输入ip+host,并请求京东可以看到输入http://localhost:8050/render.html?url=https://search.jd.com/Search?keyword=%E5%B0%8F%E7%B1%B310&enc=utf-8&a原创 2020-08-19 10:39:57 · 745 阅读 · 0 评论 -
python爬虫 -11- selenium(简单介绍,爬取京东,爬取去哪儿网)
selenium简单使用from selenium import webdriverdriver = webdriver.Chrome()driver.get("http://baidu.com") 进行关键字搜素kw = driver.find_element_by_id("kw")kw.send_keys("Python")su = driver.get_element_by_id("su")su.click() 获取标题h3_list = driver.find_ele原创 2020-08-19 10:34:32 · 532 阅读 · 0 评论 -
python爬虫 -10- 新片场案列(scrapy的使用)
创建项目scrapy startproject xpc创建requirements.txt 在xpc目录下创建requirements.txt文件scrapyredisrequestspymysql 创建完成后,输入以下导入模块pip install -r requirement.txt初始化爬虫scrapy genspider discovery xinpianchang.com爬取逻辑import scrapyfrom scrapy import Request原创 2020-08-19 10:30:47 · 811 阅读 · 0 评论 -
python爬虫 -09- 扩展(简单介绍和日志记录扩展)
介绍 扩展框架提供一个机制,使得你能将自定义功能绑定到Scrapy。 扩展只是正常的类,它们在Scrapy启动时被实例化、初始化。 扩展一般分为三种状态:可用的(Available)、开启的(enabled)和禁用的(disabled)。一些扩展经常需要依赖一些特别的配置,比如HTTP Cache扩展是可用的但默认是禁用的,除非设置了HTTPCACHE_ENABLED配置项。通过将其顺序设置为None,即可禁用。telnet 在cmd中telnet 127.0.0.1 6023 此时会让你输原创 2020-08-19 10:09:00 · 483 阅读 · 0 评论 -
python爬虫 -08- 中间件(简单介绍和循环动态代理中间件)
process_request在request对象传往downloader的过程中调用。当返回不同类型的值的时候,行为也不一样:返回值行为None一切正常,继续执行其他的中间件链Response停止调用其他process_request和process_exception函数,也不再继续下载该请求,然后走调用process_response的流程Request不再继续调用其他process_request函数,交由调度器重新安排下载。IgnoreRequest原创 2020-08-19 09:56:49 · 1031 阅读 · 0 评论 -
python爬虫 -07- 迁木网(scrapy)
主要代码import scrapyfrom items import UniversityItemclass QianmuNewSpider(scrapy.Spider): name = 'qianmu_new' # 允许爬的域名内的url,比如qianmu.org,那么www.qianmu,org,mall.qianmu.org都能爬 allowed_domains = ['qianmu.org'] # 爬虫的入口地址,可以多些几个 start_urls原创 2020-08-19 09:49:29 · 366 阅读 · 0 评论 -
python爬虫 scrapy的安装(踩坑记录)
Scrapy安装环境必备项:python、pip工具、wheel模块、lxml模块、twisted模块、pyOpenSSL模块(需要OpenSSL)、scrapy模块。主要是pyOpenSSL模块和twisted模块有点麻烦,其他的我好像直接install就下载成功了。所以一下只说了pyOpenSSL模块和twisted模块的安装pyOpenSSL安装下载地址:http://slproweb.com/products/Win32OpenSSL.html我电脑是64位的,就下载的Win64,有.原创 2020-08-04 16:57:37 · 303 阅读 · 0 评论 -
python爬虫 -06- scrapy的安装和简单实用
scrapy的安装和简单实用安装 ???? https://blog.csdn.net/qq_44766883/article/details/107790504基本使用import scrapyclass QuoteSpider(scrapy.Spider): name = "quote" start_urls = ["http://quotes.toscrape.com/"] def parse(self, response): # q原创 2020-08-18 23:59:15 · 545 阅读 · 0 评论 -
python爬虫 -06- 爬取迁木网(多线程爬取,借用队列和redis)
普通版本(借用队列)import requestsfrom lxml import etreeimport osfrom queue import Queueimport threadingimport timestart_url = "http://www.qianmu.org/ranking/1528.htm"link_queue = Queue()threads_num = 10threads = []download_pages = 0def fetch(url):原创 2020-08-18 23:17:43 · 343 阅读 · 0 评论 -
python爬虫 -05- 爬取下厨房的所有图片(requests+bs4和pycurl+re两种方式)
requests+bs4from urllib.parse import urlparseimport osimport requestsfrom bs4 import BeautifulSoupua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"headers = {"User-Agent": ua原创 2020-08-18 23:13:58 · 582 阅读 · 0 评论 -
python爬虫 -04- lxml和xpath的简单使用
xpath语法表达式描述nodename选取此节点的所有子节点。/从根节点选取。//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。.选取当前节点。…选取当前节点的父节点。@选取属性。following-sibling::span[1]附近的节点lxml使用from bs4 import BeautifulSoupfrom lxml import etreeimport doc_htmlsoup = Beaut原创 2020-08-18 23:10:37 · 160 阅读 · 0 评论 -
python爬虫 -03- bs4的简单使用
简单使用from bs4 import BeautifulSoupimport doc_htmlsoup = BeautifulSoup(doc_html.html_doc, "html.parser")# input标签print("-----input-----")print(soup.input.attrs)print(soup.input.attrs['style'])print(soup.input.has_attr('type'))# p标签print("-----p-原创 2020-08-18 23:08:52 · 190 阅读 · 0 评论 -
python爬虫 -02- requests的简单实用
get,post和带参数请求import requests# get请求res = requests.get("http://httpbin.org/get")print(res.status_code, res.reason)print(res.text)# 带参数的get请求res = requests.get("http://httpbin.org/get", params={"a": 1, "b": "2"})print(res.json())# post请求res = r原创 2020-08-18 23:05:41 · 131 阅读 · 0 评论 -
python爬虫 -01- urllib的简单实用
get请求import urllib.requestimport jsonres = urllib.request.urlopen("http://httpbin.org/get")# 读取response的内容text = res.read()# http返回状态码print(res.status, res.reason)obj = json.loads(text)print(obj)for k, v in res.headers._headers: print(f"({k原创 2020-08-18 23:02:15 · 170 阅读 · 0 评论