![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python爬虫
夜逍尘
Python学习
展开
-
js技巧(4)
1.js逆向过程中常常会出现js混淆 我们需要使用反混淆的工具这是js混淆后的代码上面是反混淆的工具使用返回了一个数据接口 这个才是真的js数据2.SessionId出现这个字眼就是说cookie的值3.如果一个函数没有需要转跳那么直接复制全部 尽量还原原代码...原创 2021-05-28 14:20:17 · 127 阅读 · 0 评论 -
芝麻http和豌豆http使用
一、豌豆httpimport requeststargetUrl = "http://myip.ipip.net"api_url = 'api的网址'a = requests.get(api_url).texthttpProxyServer = str(a).strip()print(httpProxyServer)proxies = { "http": 'http://{}'.format(httpProxyServer), "https": 'http://{}'.原创 2021-05-27 21:58:36 · 1635 阅读 · 0 评论 -
seleium优选
在seleium里定位复杂的话可以用两种定位方式1.css_selector使用方法:根据路径来定位driver.find_element_by_css_selector('.p-name em')class属性用.id属性用#2.xpath同样是这个路径li.find_element_by_xpath('//div[@class="p-name"]/em').text...原创 2021-05-24 22:05:05 · 134 阅读 · 0 评论 -
爬取工商银行的休闲食品
目标:使用多线程的方式爬取工商银行的休闲食品 存入MonGoDB数据库原创 2021-05-14 11:41:58 · 201 阅读 · 1 评论 -
多线程中子线程正确传输
import pymongoimport threadingimport queueclient = pymongo.MongoClient(host='127.0.0.1', port=27017)db = client['xiaoye']['jf']class Producer(threading.Thread): def __init__(self, data_queue, *args,**kwargs): super(Producer, self).__i原创 2021-05-14 10:52:02 · 89 阅读 · 0 评论 -
深度解析 steam密码js逆向(篇幅很长)
目标:破解steam密码js加密原创 2021-05-12 23:00:14 · 8826 阅读 · 5 评论 -
爬取《宝可梦剑盾》资讯 并存储到mongodb
目标:爬取百度宝可梦资讯的标题和详情页原创 2021-05-10 13:37:54 · 643 阅读 · 3 评论 -
爬取微博搜索关键字标题
目标:爬取微博文章搜索标题步骤:1.加载模块2.设置爬虫参数3.爬取并清洗原创 2021-04-22 13:40:22 · 765 阅读 · 0 评论 -
爬取今日头条搜索标题
# 加载模块import requestsfrom fake_useragent import UserAgentimport timeclass Sousuo(): def __init__(self, i, p): # 设置爬虫参数 self.url = 'https://www.toutiao.com/api/search/content/' # 传入url self.headers = { # 设置headers原创 2021-04-21 18:05:39 · 39253 阅读 · 5 评论 -
爬取百度搜索标题
目标:爬取百度搜索标题的前五页搜索到的标题(广告也算)原创 2021-04-19 11:14:41 · 1040 阅读 · 12 评论 -
scrapy集合mongo进行多条数据采集
一、爬虫文件import scrapyimport sysclass MgcsSpider(scrapy.Spider): name = 'mgcs' allowed_domains = ['meituan.com'] start_urls = ['https://i.waimai.meituan.com/openh5/homepage/poilist?'] sz =0 def parse(self, response): cookies =原创 2021-04-05 16:44:18 · 231 阅读 · 0 评论 -
在scrapy中params无处安放???
在scrapy中post请求并没有params这一项但是可以放入data一起递给formdata例子:url = 'https://i.waimai.meituan.com/openh5/homepage/poilist?_=1617599276031&X-FOR-WITH=aOz9oQArI5qgENaNLqbZUsSueNStDs68OwuGdAWGQL872kDC5t6e3g89MWKANAKICAVATGoJcrGz0lf9H74EEtfCzyWAXetZ1HNpfOjg95T4ZvhQ原创 2021-04-05 14:05:34 · 1229 阅读 · 1 评论 -
在scrapy里使用cookie获取美团外卖的数据
获取网页网址的数据接口的cookie原创 2021-04-02 17:40:49 · 3071 阅读 · 2 评论 -
在scrapy集合selenium模拟登陆获取cookie
from fake_useragent import UserAgentfrom selenium import webdriverfrom scrapy.http.response.html import HtmlResponseimport timeclass seleniumMiddleware: driver = webdriver.Chrome() def process_request(self, request, spider): self.dr原创 2021-04-02 17:14:27 · 301 阅读 · 6 评论 -
session心得
一.手机号验证码使用手机号进行正常登入,登录后搜索手机号的验证码进行搜索我们的验证码是4474那么就搜索4474 搜索后发现有一条数据接口 那这个数据接口就是我们session登录的路径了在然后携带参数登入import requestsfrom lxml import etreesession = requests.session()# 目标urlurl = 'https://accounts.douban.com/j/mobile/login/verify_phone_code'y原创 2021-03-31 15:45:16 · 233 阅读 · 0 评论 -
pymongo
pymongo序:启动import pymongoclient = pymongo.MongoClient(host='127.0.0.1', port=27017)db = client['xiaoye']['biao']xiaoye:数据库名biao:表名(集合名)db:可进行指定位置操作的变量(如:db = client[‘xiaoye’][‘biao’] 指定的位置是xiaoye数据库里的biao表)pymongo新增新增多条数据:db.insert_many([{'fangz原创 2021-03-30 14:18:23 · 327 阅读 · 0 评论 -
代理ip
1.不要适用seleium2.获取代理ip时一定要注意协议 如:http的网址就用http的代理ip,https的网址就要https的代理ip3.注意整理ip信息时 协议要使用大写HTTP4.在使用requests后再加上requests.adapters.DEFAULT_RETRIES = 55.ip的格式是字典而且只能传一个可以获取ip后使用遍历...原创 2021-03-23 10:01:21 · 97 阅读 · 0 评论 -
关于爬虫报错:requests.exceptions.ProxyError(最正确的办法)
你的代理ip输入的是小写的http或者https而不是大写的如:{’HTTP‘:’117.94.236.124:4257‘} 这样才行原创 2021-03-17 22:18:27 · 986 阅读 · 4 评论 -
scrapy-redis
步骤一正常使用scrapy爬取数据步骤二修改爬虫文件1.加载模块from scrapy_redis.spiders import RedisSpider2.继承模块的类class DangdangSpider(RedisSpider):3.start_urls替换redis_key(redis_key里面输入py名)# start_urls = ['http://book.dangdang.com']redis_key = 'dangdang'修改settings1.放入参数原创 2021-03-11 17:21:42 · 74 阅读 · 0 评论 -
爬虫知识储备(2)
1.xpath中的./和.//的关系在每个div[@class=“level_one”]中都会有dl和div[@class=“con”]div[@class=“con”]下面也有dl如果写xpath时 使用的是.//dl[1]/dt[1]//text()那么获取来的数据 就会是 第一个dl里匹配到的数据特色书单 以及在div[@class=“con”]下面的dl里也会匹配到童书的文本 在这里我们看出来 .//会把所有符合匹配要求的全部取出来 而./却不一样他只会把第一个dl里匹配到的数据特色书单原创 2021-03-11 15:29:38 · 182 阅读 · 0 评论 -
爬虫知识储备(1)
知识存储1.数据接口中的data数据处理我们可以看出来这不是一个简单数据 而是像json一样一节一节的我们平时处理data带入post参数都是data = { 'startIndex': '1', 'sortId': '0', 'multiFilterIds': '', }但是出现{channelCode: [“fixed_disc”], pageSize: 30, pageNum: 1, stock: []}这种情况 我们就的使用这种方法了data = '{"channelC原创 2021-02-26 15:03:56 · 335 阅读 · 0 评论 -
selenium
selenium的显示等待与隐示等待1.显示等待WebDriverWait(driver, 1000).until(EC.url_contains(www.baidu.com)) # 等待网页加载成功后就取消多余的等待时间WebDriverWait(driver,100).until(EC.presence_of_all_elements_located((By.ID, 'kw')))# 等待网页标签加载成功(若是网页标签在网页下面或看不见的地方会报错)# 显示等待的坐标必须使用By.**原创 2021-02-22 22:02:52 · 91 阅读 · 0 评论 -
报错
报错库存1.http.client.RemoteDisconnected: Remote end closed connection without responseua出错 使用fake_useragent原创 2021-02-08 08:24:55 · 170 阅读 · 0 评论 -
爬虫思维导图
原创 2021-02-05 16:52:56 · 776 阅读 · 0 评论 -
使用scrapy集成selenium爬取简书专题全部内容
1.载入selenium对应的模块以及time模块2.使用selenium登入简书url3.等待显示更多刷新出来4.重复点击显示更多15.获取全部专题内容并结束普通的click()点击不了显示更多 因为显示更多在页面的下面还在隐藏着 需要滑动页面才能找到 这里我们使用execute_script 可以直接点击不需要滑动页面 ↩︎...原创 2021-02-04 16:45:10 · 126 阅读 · 0 评论 -
middlewares中间件设置
middlewares 中间件里设置ua伪装1.使用fake_useragent模块2.在middlewares里设置新的中间件3.在新的中间件里重置process_request函数4.在process_request函数里使用fake_useragent模块5.在settings开启之前新的中间件middlewares 中间件里设置ip1.在豌豆http网站里获取IPjson格式2.复制api网址并复制里面的内容3.创建新的中间件并重置process_request函数4.原创 2021-02-04 15:15:10 · 831 阅读 · 0 评论 -
scrapy模拟登入
使用scrapy模拟登入第一种方法从数据接口获取cookie重新定义一个start_requests函数把cookie整理成字典格式传入模拟登入代码的cookies参数里第二种方法 以post形式去登入1.查看网页登入失败后网页是否从login变成session --是2.获取session数据接口里的data3.查看data里是否有变数 --有4.去网页中获取data里的变数(数据结构是固定的一会就被会换 ,而网页直接请求无论怎么变都可以)5.使用formrequest方法原创 2021-02-03 15:00:14 · 184 阅读 · 0 评论 -
学习爬虫
原创 2020-12-31 16:31:42 · 181 阅读 · 0 评论 -
学习爬虫(第九天)
中国天气预报原创 2020-12-30 11:01:01 · 65 阅读 · 0 评论 -
学习爬虫(第八天)
bs4的对象种类tag : 标签打印标签名字attrs获取标签里的属性NavigableString : 可导航的字符串• string获取标签里面的内容• strings 返回是一个生成器对象用过来获取多个标签内容• stripped strings 和strings基本一致 但是它可以把多余的空格去掉BeautifulSoup :soup对象Comment : 注释遍历树 遍历子节点bs里面有三种情况,第一个是遍历,第二个是查找,第三个是修改遍历树 遍历子节点• c原创 2020-12-28 16:47:07 · 73 阅读 · 0 评论 -
爬虫学习(第七天)
豆瓣电影250原创 2020-12-24 17:12:04 · 75 阅读 · 0 评论 -
学习爬虫(第六天)
re模块常用方法1. compile2. search3. matchmatch左边匹配右边文本或字符串必须从头到尾一模一样才能匹配match不能匹配左边数据后面的部分match可以从头开始到想要停止的地方进行截取4. split5. findall6. subflag匹配模式分组gruops适合遍历flip index文件夹的名称后面要加反斜杠文件扩展名如果没有任何形式打开 那么就是空值...原创 2020-12-23 10:04:00 · 50 阅读 · 0 评论 -
学习爬虫(第五天)
元字符练习:1 小数点 .2 逻辑或 |3.字符集 []预定义匹配字符集1. \d2. \w3. \s贪婪和非贪婪模式小知识:1.所有的匹配字符只能执行一次也就是说输出时只有一个字符不管后面写的再多也只有一个2.如果头一个字符不是匹配数据需要的那么就空值了比如 (re.match(r’ab’,‘nab’) 输出结果为空值 因为头一个字符是n不是匹配里的数据)3.一些无法书写或者具有特殊功能的字符,采用在前面加斜杠""进行转义的方法。...原创 2020-12-21 15:55:25 · 62 阅读 · 0 评论 -
学习爬虫(第四天)
cooik可以放在headers里面如果有网站不被SSL证书认可 那么在模拟上网的括号里加 verify=F先找找网页原马 如果没有就去network找 记得点击可以获取数据的按键光到首页网址还不够 还要去有想要的资源的网址login是账号密码问题账号 , 密码 ,验证码 先是验证验证码是否正确才检查账号密码直接在验证码验证成功的url上模拟请求就可以跳过验证码base64是加密东西的 的 一般用来加密图片 如果网址有64 那么 就把64 去掉验证码图片的维度从上面一个杆开原创 2020-12-17 17:06:11 · 46 阅读 · 0 评论 -
学习爬虫(第三天)
urllib模块GET 特点 :查询参数在URL地址中显示用urllib模块get爬取百度贴吧的练习方式一(普通):方式二(函数):方式三(面向对象):POST在Request方法中添加data参数urllib.request.Request(url,data=data,headers=headers)data :表单数据以bytes类型提交,不能是str用urllib模块的post模拟有道翻译的练习requests模块安装• pip install reques原创 2020-12-14 15:58:44 · 115 阅读 · 0 评论 -
学习爬虫(第二天)
302 临时重定向几个概念GET和POST• GET : 查询参数都会在URL上显示出来• POST : 查询参数和需要提交数据是隐藏在Form表单里的,不会在URL地址上显示出来URL组成部分• URL: 全球统一资源定位符https://new.qq.com/omn/TWF20200/TWF2020032502924000.htmlhttps: 协议new.qq.com : 主机名 省略了端口 443omn/TWF20200/TWF2020032502924000.html 访问原创 2020-12-10 14:16:20 · 127 阅读 · 0 评论 -
学习爬虫(第一天)
302 临时重定向 比如进知乎他会302让你登入账号密码先通讯协议端口我们想要进行数据通讯分几步?• 1. 找到对方ip• 2. 数据要发送到对方指定的应用程序上。为了标识这些应用程序,所以给这些网络应用程序都用数字进行了标识。为了方便称呼这个数字,叫做 端口。这里的端口 我们一般都叫做 ‘逻辑端口’• 3. 定义通讯规则。这个通讯规则我们一般称之为协议通讯协议• 国际组织定义了通用的通信协议 TCP/IP协议• 所谓协议就是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规原创 2020-12-10 12:35:57 · 151 阅读 · 0 评论