爬虫
还有谁
go_flush
这个作者很懒,什么都没留下…
展开
-
协程爬虫(python)
协程的调度和销毁由程序自己控制,而且比较轻量级也更加灵活。其实是根据生成器来实现的。python 中的协程库asyncio。代码如下:import asyncioimport requestsheaders = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91..原创 2021-06-11 22:19:45 · 758 阅读 · 2 评论 -
python 高清壁纸下载
import osimport refrom urllib import requestimport jsonurl = "http://www.2800.so/pic/api.php?cid=360new&start=0&count=30"headers = { "User-Agent": "Mozilla/5.0 (Macintosh; U; Intel M...原创 2020-03-22 15:39:46 · 1947 阅读 · 0 评论 -
爬取堆糖网美女
ajax 请求,获取美女信息。看代码import jsonpathimport requestsclass Request(object): """请求的装饰器""" def __init__(self,func): self.func=func def __call__(self, url,headers,flg=None): ...原创 2020-02-11 14:49:22 · 418 阅读 · 0 评论 -
类装饰器爬取段子
import requestsfrom lxml import etreeclass Request(object): """请求类""" def __init__(self, func): self.func = func def __call__(self, url, headers, data=None): resp = r...原创 2020-02-09 15:29:18 · 156 阅读 · 0 评论 -
scrapy user-agent和IP 代理的设置
class RandomUserAgentMiddleware(object): """随机请求头""" user_agent = [ "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)", "Mozilla/4.0 (compatible; MSIE 7.0; Windo...原创 2020-01-10 15:54:20 · 312 阅读 · 0 评论 -
scrapy 中集成 selenium
因为在called for each request that goes through the downloader middleware。每一请求进过下载中间键时会被调用。在方法process_request 中集成。from scrapy.http.response.html import HtmlResponsefrom selenium import webdrivercla...原创 2020-01-10 12:31:40 · 310 阅读 · 2 评论 -
scrapy框架的异步插入数据库mysql
话说scrapy 有这非常优越的爬取速度,但是插入数据我们用同步的话,感觉老阻塞在哪里,很影响爬取的效率。scrapy 有自身的异步处理数据模块adbapi.from twisted.enterprise import adbapi.异步插入数据的Pipeline .class BookTwistedPipeline(object): def __init__(self): ...原创 2020-01-10 01:00:07 · 780 阅读 · 1 评论 -
python3 scrapy爬去图片,代码少,效率高,美滋滋!
scrapy 的效率还是很高,框架的目的就是做的多,写的少,体验了一下。它图片下载熟读很高。但是你要重写两个图片管道的两个方法。get_media_requests 和 file_path 方法。图片管道from scrapy.pipelines.images import ImagesPipelinefrom scrapy import Requestclass Imagesren...原创 2020-01-08 11:17:07 · 222 阅读 · 0 评论 -
scrapy 的爬虫牛刀小试
我感觉scrapy 的官方文档写的挺好,如果你想快速学习scrapy 框架那就去看官方文档。scrapy官方文档。这框架的数据流是这样的 spider 发起请求-调度器-下载中间键-下载器-(response)-下载中间键-爬虫中间件-spider-管道(保存输)。各组件通过引擎链接。1创建项目 scrapy startproject xxxx2 创建爬虫 cd xxx, scrapy ...原创 2020-01-07 12:11:17 · 148 阅读 · 0 评论 -
多线程爬取斗图啦
使用的生产者和消费者模式,刚开始我的img_queque 中始终为空,取不出值,那是主线程执行太快,该线程还没有执行,就已经结束。使用线程等待 join。代码import osimport reimport threadingfrom queue import Queuefrom urllib import requestimport requestsheaders = {...原创 2020-01-06 14:58:56 · 261 阅读 · 0 评论 -
python 爬取古诗文存入mysql
使用正则提取数据,请求库requests,看代码,在存入数据库时,报错ERROR 1054 (42S22): Unknown column ‘title’ in ‘field list’。原来是我写sql 有问题,sql = “insert into poem(title,author,content,create_time) values({},{},{},{})”.format(title,...原创 2020-01-05 11:45:04 · 795 阅读 · 0 评论 -
python3 电影天堂抓取
本以为这个网站挺好抓取的,但是在抓取过程中,处理数据出现了问题,lxml.etree._ElementUnicodeResult’。xpath 明明写正确着,但是就是错误!解决这种问题,一 不用xpath 处理数据,二 就是解决ElementUnicodeResult,这个问题。ElementUnicodeResult,解决这个问题有两种方法 一直接转成str。另一种就是encode(“ut...原创 2020-01-04 09:40:04 · 885 阅读 · 0 评论 -
Python 最适合练手的爬虫百思不得姐
这个网站没有反扒,使用的是Python 自带urllib ,解析库数xpath,生成器,数据保存到mongodb。代码from urllib import requestfrom pymongo import MongoClientfrom lxml import etreeclinet = MongoClient(host='localhost', port=27017)...原创 2020-01-03 13:03:42 · 284 阅读 · 0 评论 -
python3 装饰器之爬虫搞笑视频
写个爬虫真的不容易,我想顺便找个网站,练练手。爬虫中有多出用到requests 模块。所以就用装饰器来实现吧。这个网站是搞笑视频,首页重定向,详情页ajax.。看代码:#!/usr/bin/env python# -*- coding: utf-8 -*-import datetimeimport functoolsimport reimport requestsfrom ...原创 2020-01-02 13:14:07 · 371 阅读 · 0 评论 -
爬虫小工具处理headers 和对requests 的封装
对requests 的封装,设置成liveTemplate,就不用每次都敲了。import datetimeimport requestsclass requests_spider(object): def __init__(self, url, headers): self.url = url self.headers = headers ...原创 2020-01-01 11:19:48 · 721 阅读 · 0 评论 -
selenium 有时获取不到数据,不要怀疑自己的驱动版本
有没有selenium 有时获取不到数据的时候,那是以为你对页面结构不够了解。有时候有的页面不是一个html 页面,而是好几个html 页面平拼在一起,好像叫frame框架这中页面,你按之前的方法获取特定的元素时,就获取不到。此时就要用switch_to.frame这个方法,就可以获取到特定页面的element 了。用法:wb.switch_to.frame("pp_frame") ...原创 2019-12-30 16:07:03 · 1878 阅读 · 0 评论 -
爬虫证书校验问题(requests)
若果遇到这样的问题,你导入包 urllib3,并且在代码顶部设置就行了。import urllib3urllib3.disable_warnings()requests.get(url, headers=headers,verify=False)在requests 中添加 verify= False 就ok了...原创 2019-12-29 10:03:42 · 537 阅读 · 0 评论 -
Python 爬取酷狗音乐的思路分析
经过多次抓包,发现酷狗音乐的歌名是通过hash 加密之后拼接到url中的,当你点击播放时,会发起一个ajax请求,并且携带hash值和之间戳,但是我发现时间戳有没有都无所谓,response 中会有该歌的好多信息,歌词,歌名,海报等等。抓包截图如下:代码实现很简单我就不写了。...原创 2019-12-28 11:11:49 · 1618 阅读 · 0 评论 -
python3 异步爬虫
Python 3 中有一个异步请求库aiohttp,异步的爬虫我写的很少,就用它来获取萝莉小姐姐。不说了一切尽在代码中。class AsyncSpider(object): """异步请求""" def __init__(self,headers): self.headers = headers async def get(self,url): ...原创 2019-12-24 15:49:07 · 327 阅读 · 1 评论 -
猫眼电影简单爬虫
猫眼电影热播电影的评分,电影名,海报的抓取。没有使用解析库,正则加requests使用正则解析的话,比较麻烦,没有其他解析库方便,写正则还是根据response.text返回的内容去写,有时返回的页面标签和你拿到的不符。结构不全,但浏览器解析时会自动加上。import refrom multiprocessing import Poolimport requestsdef g...原创 2019-12-19 16:15:21 · 590 阅读 · 0 评论 -
Python3 爬图
环境:win10 python 3.7 requests lxml multiprocessing多进程异步代码如下:import osfrom multiprocessing import Poolimport requestsfrom lxml import etreefrom multiprocessing import Managerclass Spide...原创 2019-12-24 18:53:43 · 1115 阅读 · 4 评论 -
英雄联盟皮肤送一波
英雄联盟这款游戏玩了好几年了,大学时,几乎每个宿舍有都玩着款游戏的,到目前为止,这款游戏有多少个英雄呢?今天我看了一下一共是146个英雄。今天就爬了英雄联盟的皮肤作为电脑壁纸使用。只需要requests模块就醒了,以为经过js加载的数据,网页源码中没有信息。代码如下:import jsonimport osimport requestsclass HeroSkin(object...原创 2019-12-02 19:18:09 · 238 阅读 · 0 评论 -
爬取有道
1 抓包,获取url,2 组装参数3 发送请求class YouDao(object): def __init__(self): self.url = "http://www.youdao.com/w/eng/" self.headers = { "Host": "www.youdao.com", ...原创 2019-11-06 23:56:01 · 101 阅读 · 0 评论 -
selenium 的简单 使用
访问网页import randomimport timefrom selenium import webdriverdr = webdriver.Chrome() # executable_path=这个值就是你对应浏览器的位置,我已配置到系统环境变量,所以不用传递dr.get("https://www.baidu.com/")resp = dr.page_source ...原创 2019-11-05 10:27:27 · 205 阅读 · 0 评论 -
python 线程池爬取段子,解析库是BeautifulSoup,数据库是mongdb
使用线程池,爬取段子,并将段子存入数据库。-程序中使用了两个类,发送请求类和获取数据类,随机生成User_agent.看代码import randomimport reimport timefrom multiprocessing.dummy import Pool # 线程池from queue import Queue # 线程间的通信import requestsfro...原创 2019-11-01 18:13:37 · 214 阅读 · 0 评论 -
cannot connect to 127.0.0.1:62001: 由于目标计算机积极拒绝,无法连接。 (10061)
遇到这种情况,一般是你的端口被占用,你换个端口连接就好了。adb connect 127.0.0.1:62002原创 2019-10-28 15:20:58 · 21538 阅读 · 0 评论 -
mitmproxy 的代理设置以及证书的安装
1 查看你电脑的ip 地址,ipconfig (让你的电脑和手机在同一网络下),假如我的无线ip 是 127.0.0.2设置手机 点击 选择wf ,长按,3 修改网络,高级选项,代理设置,选择手动。 填写代理服务器主机名: 127.0.0.2。和端口号。端口号和mitmproxy 的监听端口号一致。代理的ip 和电脑无线ip 一样。代理设置完毕。安装证书1 开启代理服...原创 2019-10-28 13:01:48 · 3362 阅读 · 1 评论 -
scrapy中设置headers和referer 字段,代理
你只要在middlewares 中添加你自己的middleswares方法:class MyUseragent(object): def process_request(self,request,spider): referer=request.url if referer: request.headers["referer"...原创 2019-10-21 13:27:01 · 8509 阅读 · 3 评论 -
scrapy 中拼接url 的方式
有时我们获取的url地址是不完整的,需要拼接一个完整的url。方法一: 使用+号拼接url = “localhost” + response.css("#.pp a::attr(src)").extract_first(default=None)方法二 使用 joinurl = "".join([host,response.xpath("//a[@class='pic']/im...原创 2019-10-21 12:56:53 · 2205 阅读 · 1 评论 -
scrapy 的mongodb的管道
scrapy 中的Pipeline 是用来处理爬取后的结果的,怎样将数据存入mongodb 中呢?import pymongoclass MongoPipeline(object): collection_name = 'scrapy_items' # 集合名 def __init__(self, mongo_uri, mongo_db): self....转载 2019-10-21 12:43:04 · 193 阅读 · 0 评论 -
抓包工具mitmproxy的安装和配置
mitmproxy 是一款可以和python 交互的抓包工具。安装方法:pip3 install mitmproxy装完之后,他有三部分,mitmproxy ,mitmdump mitmwebmitmproxy 不能再windows 上运行,但mitmdump 和mitmweb 可以。使用配置,手机端配置。1打开手机网络设置,点击修改网络,将代理设置为手动,配置代理ip 和端口号。...原创 2019-10-13 21:15:32 · 357 阅读 · 0 评论 -
python 多进程爬虫实例
进程间的通信Queue , multiprocessing.import reimport timeimport urllib.requestimport requestsfrom bs4 import BeautifulSoupfrom multiprocessing import Processfrom multiprocessing import Queuecla...原创 2019-09-25 12:39:11 · 301 阅读 · 0 评论 -
无界面的Chrome浏览器
看代码:from selenium import webdriverclass Chrome_headless: """无头的Chrome浏览器""" def __init__(self): self.chromeOptions = webdriver.ChromeOptions() # chrome 选项设置对象 self.chrom...转载 2019-06-29 22:02:08 · 3108 阅读 · 0 评论 -
爬取趣图网的素材
所需环境Python3.7用到的包 requests lxml代码:import osimport randomimport timeimport requestsfrom lxml import etreeclass Scai: """获取图片""" def __init__(self): self.url = "http://www...原创 2019-06-14 17:48:40 · 1625 阅读 · 0 评论 -
python 爬取汽车壁纸
所需环境 python 3.7所用到的模块 os,requests ,lxml不说了上代码# -*- coding: UTF-8 -*-import osimport requestsfrom lxml import etreeurl = "http://desk.zol.com.cn/qiche/1920x1080/"headers = { "User-Agen...原创 2019-06-02 18:19:53 · 200 阅读 · 0 评论