python爬虫
独听钟声晚
学习使我快乐
展开
-
解决selenium.common.exceptions.ElementClickInterceptedException问题
今天爬淘宝的时候出现点击位置被覆盖从而点击错误的问题:selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <li data-kg-rate-filter-val="0">...</li> is not clickab...原创 2020-03-26 14:50:07 · 10163 阅读 · 3 评论 -
python爬虫——requests爬取高德地图全国天气信息
一.分析在浏览器中搜索高德地图,按F12,点击搜索可以查看到西安市对应的citycode是610100cityList表示出城市信息,有可能有城市的编号,我们复制他的url查看在json在线解析中可以解析出此文件,我们可以看到有一个是把城市按字母排序二.代码import requestsimport jsonpathdef parse_adcode(adcode_u...原创 2020-02-20 17:06:09 · 992 阅读 · 0 评论 -
python爬虫——Scrapy入门(爬取西刺代理ip和port)
一.创建项目创建好的项目二.创建爬虫1.创建一定要先进入刚才创建的爬虫项目文件中再创建爬虫对比未创建爬虫,发现多了一个xici.py文件2.查看网站君子协议(robots):3.解释爬虫文件三.分析网站1.提取数据的方法可以参考我以前的博客(1)正则表达式(2)Xpath:从html中提取数据的语法(3)CSS:从html中提取数据语法(4)Beaut...原创 2020-02-19 15:46:16 · 340 阅读 · 0 评论 -
解决pycharm安装第三方库超时问题:Error - ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443):
1.需要将pip源设置为国内源阿里源,豆瓣源,网易源等1.1 windows:(1) 打开文件资源管理器(windows10需要管理者权限)(2)地址栏输入%appdata%之后进入到一个文件夹内(3)在这里面新建一个文件叫做 pip(4)在pip文件夹里新建一个文件叫 pip.ini,内容如下[global]timeout = 6000index-url = https://...原创 2020-02-18 16:19:15 · 1499 阅读 · 0 评论 -
python爬虫——requests+beautifulsoup爬取下厨房首页图片
一.网站分析复制图片链接查看去掉@以及之后的参数再次查看有的图片的url属性为data-src二.python代码import osimport requestsfrom urllib.parse import urlparsefrom bs4 import BeautifulSoupurl = 'http://www.xiachufang.com/'r = req...原创 2020-02-17 13:18:39 · 403 阅读 · 0 评论 -
python爬虫——多线程爬取泛见志网站
点击最后一个查看headers原创 2020-02-16 14:01:35 · 165 阅读 · 0 评论 -
python爬虫——验证码(1)下载到本地之登录古诗文网
一.分析验证码:登录抓包:登录不一定成功,但是接口可以捕获到formdata:获取 ‘__VIEWSTATEGENERATOR’ 和 ‘__VIEWSTATE’ 的值二.代码import requestsfrom bs4 import BeautifulSoupimport urllib.requestheaders = { 'User-Agent': 'M...原创 2020-02-14 14:04:23 · 634 阅读 · 1 评论 -
python爬虫——requests+xpath 爬取8684公交查询网站
一.分析网站url = 'http://xian.8684.cn/'1.第二层路线xpath:# 查找以数字开头的所有链接 number_href_list = tree.xpath('//div[@class="list"][1]/a/@href') # 查找以字母开头的所有链接 char_href_list = tree.xpath('//div[@cl...原创 2020-02-13 17:59:39 · 3456 阅读 · 5 评论 -
python爬虫——requests基础学习
一.requests基础官方学习文档:http://cn.python-requests.org/zh_CN/latest/Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。Requests 允许你发送纯天然,植物饲养的 HTTP/1.1 请求,无需手工劳动。你不需要手动为 URL 添加查询字串,也不需要对POST 数据进行表单编码。Keep-aliv...原创 2020-02-13 13:03:24 · 765 阅读 · 0 评论 -
python爬虫——爬取快代理中可用代理
import requestsimport timeimport randomfrom lxml import etreefrom queue import Queuefrom threading import Threaddef get_ip(): while True: if not q.empty(): # 验证IP是否可用网址 ...原创 2020-02-12 18:11:07 · 370 阅读 · 0 评论 -
UnicodeEncodeError: 'gbk' codec can't encode character '\xe7' in position 10 解决乱码问题
1.首先要在pycharm中设置默认的编码为utf-82.代码设置编码r.decode(encoding=“utf-8-sig”)原创 2020-02-12 15:50:32 · 5924 阅读 · 3 评论 -
python爬虫——使用selenium+chrome options爬取站长素材页面源码
一.站长素材1.需要爬取的内容2.代码from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsimport time# webdriver 路径path = r'E:\chromedriver_win32\chromedriver.exe'# 创建无界面浏览器chro...原创 2020-02-12 11:32:28 · 388 阅读 · 0 评论 -
python爬虫——使用chrome的无界面浏览器options(豆瓣下拉滚动条)
一.概述1.2.安装chromedriver上一篇文章写过,点击即可查看二.简单操作案例一:from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsimport time# chromedriver.exe路径path = r'E:\chromedriver_win3...原创 2020-02-12 10:54:14 · 968 阅读 · 0 评论 -
python爬虫——selenium基础(含Chromedriver下载地址和映射表)
一.selenium是什么?selenium是浏览器自动化测试工具.二.使用selenium1.安装selenium2.下载Chromedriver:操作谷歌浏览器必须要有谷歌浏览器的一个驱动(不同浏览器需要用不同的驱动)下载地址:http://chromedriver.storage.googleapis.com/index.html对照表:ChromeDriver...原创 2020-02-10 17:52:33 · 1320 阅读 · 0 评论 -
python爬虫——jsonpath(1)基础知识
一.jsonpath:用来解析json数据2.python处理json格式数据用到的函数 ~~~~~ (1)json.dumps():将字典或列表转化为json格式的字符串案例:import jsonlt = [ {'name': '王大明', 'age': '...原创 2020-02-09 16:49:10 · 836 阅读 · 0 评论 -
python爬虫——图片懒加载之爬取站长素材图片
一.分析1.url分析url可能为http://sc.chinaz.com/tupian/gudianmeinvtupian_{}.html尝试第一页,http://sc.chinaz.com/tupian/gudianmeinvtupian_1.html,结果不成功,说明第一页和其他页不同2.查看编码3.xpath匹配第一页全部图片浏览完后可以用xpath匹配到://di...原创 2020-02-09 13:59:53 · 2475 阅读 · 5 评论 -
python爬虫——提取抓取内容(6)使用XPath爬取好段子
一.分析1.url:http://www.haoduanzi.com/category/?1-1.htmlhttp://www.haoduanzi.com/category/?1-2.html所以可以设置为url=‘http://www.haoduanzi.com/category/?1-{}.html’2.编码:utf-83.每个段子的标签:div_list = tree.xpat...原创 2020-02-08 18:54:20 · 570 阅读 · 0 评论 -
python爬虫——提取抓取内容(5)XPath的简单使用
一.XML基本概念1.XML是什么?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准2.XML 与 HTML 的主要差异XML 不是 HTML 的替代。...原创 2020-02-07 19:58:09 · 3497 阅读 · 1 评论 -
python爬虫——提取抓取内容(4)bs4基本用法
一.安装BeautifulSoup1.需要将pip源设置为国内源阿里源,豆瓣源,网易源等1.1 windows:(1) 打开文件资源管理器(windows10需要管理者权限)(2)地址栏输入&appdata%(3)在这里面新建一个文件叫做 pip(4)在pip文件夹里新建一个文件叫 pip.ini,内容如下[global]timeout = 6000index-url ...原创 2020-02-06 21:58:37 · 5237 阅读 · 0 评论 -
python爬虫——提取抓取内容(3)经典语录网语录抓取
一.分析代码对比两个链接标题正则表达式:r'<a href="(/a/jingdianmingyan/.*?/\d+\.html)" class="title">(.*?)</a>'每个标题的内容正则表达式:r'<div class="content">.*?<td>.*?</div>(.*?)</td>....原创 2020-02-06 19:26:46 · 615 阅读 · 0 评论 -
python爬虫——提取抓取内容(2)百思不得姐爬取图片案例
后续。。。原创 2020-02-06 15:39:38 · 224 阅读 · 0 评论 -
python爬虫——提取抓取内容(1)正则表达式解析
一.为什么引入正则表达式?用来匹配一类具有相同规则的字符串二.正则表达式规则1. 单字符符号含义.除换行以外的所有字符[][aoe]表示a.o.e任意一个;[a-w]表示a-w之间任意一个\d数字 [o-9]表示0-9\D非数字\w字母,数字,下划线,中文\W所有非\w\s所有的空白字符\S非空白字符2...原创 2020-02-05 17:12:25 · 1300 阅读 · 0 评论 -
python爬虫——cookie(模拟浏览器登陆人人网)
一.cookie是什么?cookie是键值对形式存储的少量信息。平时上网都是使用无状态的http协议传出数据,这意味着客户端与服务器在数据传输完成后会终端连接。这时,我们需要一个一直保持会话连接的机制,cookie就充当了这个角色,帮助我们跟踪会话。一般该信息记录用户身份。二.cookie登陆1. 使用抓包工具fiddler抓取人人网登陆过程2.找到登陆的post请求3.查看body...原创 2020-02-05 14:18:11 · 670 阅读 · 0 评论 -
python爬虫——URLError和HTTPError
一.出现URLError的原因(1)没有网(2)服务器连接失败(3)找不到指定的服务器模拟URLErrorimport urllib.requestimport urllib.parseimport urllib.errorurl='http://www.maodan.com/' # 此url未被注册try: response = urllib.request.urlo...原创 2019-12-21 11:40:31 · 423 阅读 · 0 评论 -
python爬虫——爬取百度贴吧html页面
~~~ 1.1准备工作解读http://tieba.baidu.com/f?kw=python&ie=utf-8&pn=501 pn == 02 pn == 503 pn == 100n pn == (n-1)*50 ~~~ 1...原创 2019-12-20 12:47:14 · 340 阅读 · 0 评论 -
python爬虫——Ajax-post爬取肯德基官网
1.Ajax-post方法爬取肯德基官网 ~~~ 1.1准备工作点击最下方的餐厅查询随便查询一个城市,下方红色方框圈起来的就是Ajax门店信息: ~~~ 1.2编写代码import urllib.requestimport urlli...原创 2019-12-07 18:13:21 · 271 阅读 · 0 评论 -
python爬虫——Ajax-get
搜索‘豆瓣电影’-》排行榜-》选择一个类别(此处笔者选的动作)-》向下滑动可以看见最右边的滚动条滑到底部会弹回上面,此页面中就含有Ajax接口用fidder抓包看json格式的信息url解读:https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&start=20&...原创 2019-12-07 17:21:02 · 233 阅读 · 0 评论 -
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte的解决方法
原创 2019-12-07 12:04:18 · 564 阅读 · 0 评论 -
python爬虫——post方式
好原创 2019-12-06 22:06:27 · 2301 阅读 · 1 评论 -
python爬虫——构建请求头部信息(反爬第一步)
构建请求头部信息(这是反爬第一步)1.如果是url访问则是告诉网站我是爬虫,此时网站不会给你信息import urllib.requestimport urllib.parseurl = 'http://www.baidu.com/'response = urllib.request.urlopen(url)print(response.read().decode())fid...原创 2019-12-04 12:30:47 · 3290 阅读 · 0 评论 -
解决AttributeError: 'set' object has no attribute 'items'错误
出现这个问题,原因可能是定义的header有问题header={“key”:“value”}如果是直接在请求数据中复制,很有可能会忽略键和值的冒号。原创 2019-12-04 12:26:14 · 10020 阅读 · 6 评论 -
python爬虫——get方式
get方式原创 2019-12-04 11:38:35 · 1020 阅读 · 0 评论 -
python爬虫——urlrequest-urlparse-构建请求对象(2)
urllib.parseurl只能由特定的字符组成,字母、数字、下划线如果出现其他的,比如$、空格、中文等,就要对其进行编码浏览器中搜索:pycharm中:1.url解码函数quote():将中文转化为%xxximport urllib.parseurl='http://www.baidu.com/index.html?name=例子&pwd=123456'ret=u...原创 2019-12-04 11:26:39 · 415 阅读 · 0 评论 -
python爬虫——urlrequest-urlparse-构建请求对象(1)
1.read():以二进制的格式读取文相应的内容2.geturl():根据相应的内容,获取到请求的url3.getheaders():获取头部信息,列表里面有元组一般转成字典4.getcode():获取状态码5.readlines():按行读取,返回一个列表,都是字节类型6.下载图片的两种方式方式一:import urllib.requestimage_url = '...原创 2019-12-04 10:26:02 · 280 阅读 · 0 评论 -
python爬虫——http与https以及他们之间的区别
一.http与https的区别1.https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80端口,后者是443端口4.http的连接很简单,是无状态的;http协议是由ssl+http协议构建的可进行加密传输、身...原创 2019-12-03 22:51:05 · 896 阅读 · 0 评论 -
python爬虫—抓包工具fiddler的使用
**抓包(packet capture)**就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。一个网页的呈现,中间不止一次http请求,平均一个网站差不多10-15个http请求##一.谷歌浏览器抓包F12->network->输入百度网址->可以看见有19个requests->点击其中一个想看的请求...原创 2019-12-03 22:22:50 · 752 阅读 · 0 评论 -
python爬虫——urllib库介绍
urllib库模拟浏览器发送请求的库,python自带python2: urllib和urllib2python3: urllib.request和urllib.parse字符串:二进制字符串之间的转化encode():字符串–>二进制 ~~~ 如果小括号内不写参数,默认是utf8 &nb...原创 2019-12-03 22:47:52 · 151 阅读 · 0 评论