
爬虫进阶
在学习python爬虫过程中,一些深度的知识及实战项目。
xiucai_cs
这个作者很懒,什么都没留下…
展开
-
tesserocr识别图形验证码
前提: 配置好了tesserocr的相关环境,配置可以参看tesserocr环境配置。CODE:1、非常简单的识别,在本地的目录。import tesserocrfrom PIL import Imageimage = Image.open('0.png')print(tesserocr.image_to_text(image))2、转化二值化再操作。import ...原创 2020-04-21 16:55:56 · 481 阅读 · 0 评论 -
appium爬取微信朋友圈 安卓模拟器版
环境:安卓7,夜深模拟器代码:import osimport timefrom appium import webdriverfrom appium.webdriver.common.touch_action import TouchActionfrom selenium.common.exceptions import NoSuchElementExceptionfrom ...原创 2020-03-01 18:09:40 · 1820 阅读 · 7 评论 -
appium 安卓模拟器的链接
测试成功的一个:Victory原创 2020-03-01 14:41:36 · 295 阅读 · 0 评论 -
appium爬取微信朋友圈信息 真机测试
坏境:安卓9,荣耀10,微信7.0.11代码:from appium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC # 可以通过xpath定位元素fr...原创 2020-03-01 13:23:02 · 1125 阅读 · 4 评论 -
获取安卓设备列表
在一个cmd窗口中输入:adb nodaemon server在另一个cmd窗口中输入:adb devices -l原创 2020-02-26 16:54:33 · 484 阅读 · 0 评论 -
appium打开微信基本配置
PS:加上第五行那个true以后,打开微信的时候就不会重新再需要登录了。环境:荣耀10,安卓9{ "platformName": "Android", "deviceName": "COL_AL10", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI", "noReset": true...原创 2020-02-26 16:34:29 · 1321 阅读 · 0 评论 -
appium在python中的api
点击:tap()方法,该方法最多模拟五个手指,同时可以设置按着的时间长短(毫秒为单位)tap(self, positions, duration=None)positions: 点击的位置所组成的列表duration:持续的时间,毫秒为单位例子:driver.tap([(100, 20), (100,60), (100, 100), 500])el2 = driver.find...原创 2020-02-25 15:17:45 · 333 阅读 · 0 评论 -
mitmdump的相关代码实战
# 修改后的日志输出def request(flow): flow.request.headers['User-Agent'] ='MitProxy' print(flow.request.headers)# 日志输出功能from mitmproxy import ctxdef request(flow): flow.request.headers['User-A...原创 2020-02-25 14:51:35 · 636 阅读 · 0 评论 -
appium连接微信,并且输入微信账号
环境:打开手机的管理人员调试,电脑配制好安卓,java环境代码:from appium import webdriverfrom selenium.webdriver.support.ui import WebDriverWait# 手机的链接server = 'http://localhost:4723/wd/hub'# 配置连接手机的参数desired_caps ...原创 2020-02-25 14:47:57 · 1271 阅读 · 0 评论 -
mitmdump爬取得到APP数据信息,存入mongode数据库
环境:win10,安卓9,配置好的mitmdump和相关证书代码:import jsonimport pymongofrom mitmproxy import ctxdef response(flow): # https://entree.igetget.com/ebook2/v1/ranklist/list?requestType=new_rank&count=20...原创 2020-02-24 16:56:20 · 619 阅读 · 0 评论 -
mitmproxy的基本使用
环境:在配制好mitmproxy的基础上,可以使用以下的基本命令抓取手机的包。# 修改后的日志输出def request(flow): flow.request.headers['User-Agent'] ='MitProxy' print(flow.request.headers)# 日志输出功能(不同颜色)from mitmproxy import ctxd...原创 2020-02-22 15:13:38 · 2446 阅读 · 1 评论 -
scrapy框架 对全站信息的爬取(以爬取全站天气信息为例)
思路:scrapy爬取整个网站的流程(以爬取所有省份的所有城市的所有年份的所有季度的所有月份的每一天为例)在scarpy的类中,定义一个开始的url通过第一个函数和url来获取每一个省份的所有城市的url链接,对于每一个url链接,通过yield方法和callback函数来调用第二个函数并且通过yield方法传入各个城市的url信息在第二个函数中,通过bs4或者xpath或者正则表达...原创 2019-04-11 20:50:16 · 1448 阅读 · 0 评论 -
文件储存-常规储存-txt-csv-json
文件储存: TXT纯文本格式 JSON格式 CSV格式TXT文本储存: 方便,但不利于检索import requestsfrom pyquery import PyQuery as pqurl = 'https://www.zhihu.com/explore'headers = {'user-agent':'Moz...原创 2019-07-06 09:48:08 · 563 阅读 · 1 评论 -
微博信息提取实战
数据库篇:代码:# URL解码,可以将字符串加入到url中去from urllib.parse import urlencodefrom pyquery import PyQuery as pqfrom pymongo import MongoClientimport requests# Mongode的连接信息client = MongoClient()# 创建数据库...原创 2019-07-18 11:41:25 · 653 阅读 · 0 评论 -
Vscode-Python-快速配置
参考: https://www.bilibili.com/video/av51970197?from=search&seid=3485757632952627832注意:code runner中文出现乱码的时候,参考: https://www.cnblogs.com/bestcode/p/9820744.htmlcode runner会有一个简洁的输出窗口,f5是会出现一个调试窗口...原创 2019-07-07 01:03:08 · 617 阅读 · 0 评论 -
微博信息爬取理论
Ajax数据爬取:动态加载技术这种技术应用情况会越来越多解决方法:分析网页的后台向接口发送的请求,利用Requests模拟Ajax请求异步的JavaScript和XML简单三步走:发送请求解析内容渲染网页Ajax请求类型叫做xhr:例如:getlndex开头的请求,其Type位xhr,这就是一个Ajax请求...原创 2019-07-17 15:08:32 · 257 阅读 · 0 评论 -
今日头条街拍爬虫(2019.7.30更)
前言:这是一个《python3网络爬虫实战开发》的项目,无奈今日头条进行了更新,导致作者的源代码不可用。这里对bug进行了修复,更改。修改条目:添加的cookies等头文件,使今日头条返回数据不为空。 修复了爬取到的街拍图为小图的bug(有的街拍图的大图和小图的替换规则是不一样的,源代码里分了两种情况进行操作)。源代码:import requestsfrom urllib.pa...原创 2019-07-30 17:48:18 · 6811 阅读 · 6 评论 -
selenium自动化的使用
前言:并非所有的动态页面都是Ajax生成,还有Js生成的,还有的参数很复杂。Selenium(可见即可爬):from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webd...原创 2019-08-06 06:46:48 · 271 阅读 · 0 评论 -
splash安装和简单使用
需要:安装docker。安装:docker pull scrapinghub/splash运行:docker run -p 8050:8050 scrapinghub/splash 安装完的访问站点:http://localhost:8050/成果图:参考资料来源:优快云-Python爬虫:splash的安装与简单示例...原创 2019-08-06 09:24:31 · 1180 阅读 · 0 评论 -
charles手机抓包
参考:charles连接手机抓包原创 2019-08-29 18:18:20 · 203 阅读 · 0 评论 -
Python-Mongodb存储
非关系型数据库: NoSQL基于键值对的,不需要经过SQL层的解析,性能很高键值存储数据库,代表有 Redis, Voldemort, Oracle BDB 等。列存储数据库,代表有 Cassandra, HBase, Riak 等。文档型数据库,代表有 CouchDB, MongoDB 等。图形数据库,代表有 Neo4J, InfoGrid, Infi...原创 2019-07-10 00:16:17 · 712 阅读 · 0 评论 -
Redis数据库储存
Redis储存: 基于内存的键值型非关系型数据库 存取效率高 非常简单 RedisDump是导入导出操做RedisPy提供两个类Redis和StrictRedis用于实现Redis的命令操作StrictRedis更加官方,这里推荐。连接Redis:...原创 2019-07-13 15:46:52 · 189 阅读 · 0 评论 -
Python-MySQL存储
MySQL的储存: python2: MySQLdb python3: PyMySQL连接数据库: 用户名root,密码123456,端口3306import pymysqldb = pymysql.connect(host='localhost', user='root', pas...原创 2019-07-08 23:46:47 · 461 阅读 · 0 评论 -
爬虫基本原理
爬虫概述.py爬虫概述: 获取网页 提取信息(Beautiful Soup, pyquery, lxml) 保存数据: TXT JSON MySQL MongoDB 也可以保存到远程服务器上 自动化程序: 爬虫代替人类手工 适用: 信息量特别大 获取大量数据能抓取怎样的数据: 浏览器可以访问的 一般都可以获取到JS渲染页面: 对于这类页面,可以...原创 2019-04-13 21:00:39 · 267 阅读 · 0 评论 -
爬虫基础-网页基础
爬虫基础-网页基础: HTML相当于骨架 JS相当于肌肉 CSS相当于皮肤 HTML: 是一种描述网页的语言,包括文字,按钮,图片和视频。 不同类型的通过不同类型的标签来表示,不同布局又通过布局标签div表示 CSS: 层叠样式表,可以使页面变得更加美观 JS: HTML和CSSS配合使用提供一种静态信息 JS使得用户与信息之间出现一种实时,动态,交互的页面功能 综上...原创 2019-04-09 16:56:31 · 5301 阅读 · 0 评论 -
爬虫基本请求库的使用(一) urllib
urllib(内置库):requests: 最基本的请求模块 仅需要传入URL和额外的参数error: 异常处理模块parse: URL的工具模块robotparser: 识别网站robot.txt文件, 判断网站是否可爬urlopen():import urllib.requestresponse = urllib.request.urlopen('https://www.py...原创 2019-04-15 21:33:30 · 632 阅读 · 0 评论 -
爬虫基础-HTTP基本原理
爬虫基础-HTTP基本原理: URI: 统一资源标志符 URL: 是URI的子集 一般的网页链接既可成为URL也可称为URI 超文本: HTML源代码 HTTP和HTTPS: HTTP: 用于从网络传输超文本数据到本地浏览器的传输协议。 HTTPS: HTTP的安全版本,加入了SSL层 HTTP的请求过程: 在浏览器地址栏输入URL以后,浏览器向网站所在的服务器 发...原创 2019-04-09 13:23:06 · 305 阅读 · 0 评论 -
Python爬虫环境搭建大全
在《Python3网络爬虫开发实战》中,第一章主要是配置爬虫的各种环境,这里来记载一下简单的安装过程Python3: 下载安装包安装(https://www.python.org/) 笔者下载的为3.6版本 下载安装包以后安装即可requests(请求库): pip install requestsSelenium(自动化测试工具): pip install selenium...原创 2019-04-09 11:06:55 · 5903 阅读 · 0 评论 -
selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH
在使用phantomjs的过程中发生了如题目一样的报错信息,执行的为以下代码:from selenium import webdriverbrowser = webdriver.PhantomJS()browser.get('https://www.baidu.com')print(browser.current_url)解决:from selenium import webdriv...原创 2019-04-01 20:06:10 · 757 阅读 · 0 评论 -
爬虫基本请求库的使用(二)requests
requests的get方法:import requestsr = requests.get('https://www.baidu.com/')print(type(r))print(r.status_code)print(type(r.text))print(r.text)print(r.cookies)分别输出了Response的类型 状态码 响应体的类型 内容以及Cook...原创 2019-04-21 21:14:01 · 655 阅读 · 0 评论 -
Python requests + 正则表达式 猫眼电影top100 信息抓取
源代码:# 请求异常的时候报错from requests.exceptions import RequestExceptionimport requestsimport jsonimport timeimport re# 获取网页源代码def get_one_page(url): try: headers = { 'User-Ag...原创 2019-04-27 20:18:09 · 683 阅读 · 0 评论 -
python .join()方法
前言: 人家将的特别好。参考: 大佬的博客转载 2019-07-08 23:05:54 · 3503 阅读 · 0 评论 -
Windows-mysql-命令行操作
1,进入mysql安装目录的bin文件夹下cd C:\Program Files\MySQL\MySQL Server 8.0\bin2,显示所有数据库SHOW DATABASES;3,显示所有表SHOW TABLES;4,获取表中的数据select * from students;...原创 2019-07-08 08:49:16 · 380 阅读 · 0 评论 -
requests PyQuery txt储存 知乎
前言: 在书的引导下,尝试了一下PyQuery来爬取知乎内容,这里记录一下import requestsfrom pyquery import PyQuery as pqurl = 'https://www.zhihu.com/explore'headers = {'user-agent':'Mozilla/5.0'}html = requests.get(url, headers=h...原创 2019-05-15 17:26:43 · 256 阅读 · 4 评论 -
Python爬虫选择器(二) Beautiful Soup
强大的解析工具 Beautiful Soup:Python的一个HTML XML的解析库 方便从网页提取数据支持的解析器:Python标准库 lxml HTML解析器 lxml XML解析器(唯一支持XML的解析器) html5lib总结所有优点速度等因素 推荐使用lxml解析器简单demo:from bs4 import BeautifulSoupsoup = Beau...原创 2019-05-10 21:01:10 · 444 阅读 · 0 评论 -
Python爬虫选择器(三) PyQuery
pyquery选择器更适合对web熟悉的人:demo:html = '''<div> <ul> <li class="item-0">first item</li> <li class="item-1"><a href="link2.html">second item</...原创 2019-05-14 10:29:26 · 795 阅读 · 0 评论 -
爬虫-提取信息-正则表达式
match():从字符串起始位置匹配正则表达式import recontent = 'Hello 123 4567 World_This is a Regex Demo'print(len(content))result = re.match('^Hello\s\d\d\d\s\d{4}\s\w{10}', content)print(result)print(result.gro...原创 2019-04-24 13:59:46 · 390 阅读 · 0 评论 -
Python爬虫选择器(一) xpath
XPath: 一门在XML文档中查找信息的语言常用规则:/ 选取当前节点的直接子节点// 选取当前节点的子孙节点. 选取当前节点… 选取当前节点的父节点@ 选取属性简单实例:from lxml import etreetext = '''<div> <ul> <li...原创 2019-04-28 19:56:55 · 743 阅读 · 0 评论 -
爬虫 微信 信息推送
目标url: http://www.weather.com.cn/weather1d/101010100.shtml目标内容: 爬取今日天气相关信息和穿衣等建议 并且通过微信推送给用户技术点: python requests请求库 wxpy库 lxml选择器schedule定时库 time库部署: 可以购买一个云服务器,将代码配置到服务器上,就可以实现每天定时推送消...原创 2019-04-27 20:43:16 · 1316 阅读 · 3 评论 -
爬虫进阶(序)
在学爬虫的过程,看完了的入门视频。在入门的过程中 学到了1 requests库的简单使用2 正则表达式的简单使用3 Beautifu Soup的简单使用(上课的时候走神了,现在只是了解)4 Scrapy爬虫框架的基本使用5 Mongode数据库的简单使用6 Redis数据库的简单使用7 Xpath的基本使用8 动态页面的爬取觉得爬虫已经简单的入门了,在编写的时候有一个体会就...原创 2019-03-29 21:33:49 · 192 阅读 · 0 评论