python爬虫

python爬虫识别验证码(只针对图片形验证码)

时光毁灭记忆、已成空白 提交于 2020-02-10 19:57:44
这里主要讲了一个识别简单验证码的方式 首先去下载一个Tesseract软件(该软件可以识别一些简单的验证码图片) 下载软件,提取码6pm9 百度网盘链接:https://pan.baidu.com/s/1gWRRS-Mcmk3nciBIW9kxuQ 然后下载之后双击exe文件,安装的时候,别勾选后面有download的选项。 安装之后,还要将它加在环境变量path中。 然后打开cmd窗口,输入tesseract -v,如果弹出版本号,则证明安装成功。 测试代码: import pytesseract as pt //导包,并命名为pt from PIL import Image //导包 image = Image . open ( 'C:/Users/A/Desktop/hh.jpg' ) //创建Image的实例 text = pt . image_to_string ( image ) //将实例转换成string print ( text ) 上诉文章内容若有错误,欢迎指出。 来源: CSDN 作者: hua_hs 链接: https://blog.csdn.net/weixin_42336011/article/details/104251731

学习进度-10 python爬虫

大兔子大兔子 提交于 2020-02-10 18:40:04
学习爬虫的第一个案例是小说爬虫。 小说爬虫首先是解析小说页面源代码,在页面源代码中可以看到小说每章节的内容链接 爬虫的代码: import requests import re url = 'http://www.92kshu.cc/69509/' response = requests.get(url) response.encoding = 'gbk' html = response.text title = re.findall(r'<meta property="og:novel:book_name" content="(.*?)"/>', html)[0] fb = open('%s.txt' % title, 'w', encoding='utf-8') # 获取每章的内容 # print(html) dl = re.findall(r'<dl><dt><i class="icon"></i>正文</dt>(.*?)</dl>', html)[0] print(dl) chapter_info_list = re.findall(r'<dd><a href="(.*?)">(.*?)</a></dd>', dl) print(chapter_info_list) for chapter_info in chapter_info_list: chapter_url,

python爬虫:抓取下载电影文件,合并ts文件为完整视频

荒凉一梦 提交于 2020-02-10 07:12:19
目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取所有ts文件,然后合并成一个完整的文件即可下载到完整电影 代码如下: # https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 电影地址 import requests import os import time from multiprocessing import Pool def run(i): url = 'https://cn1.chinapellets.com/hls/20190406/ae64c4b38a00fb989546672c7d75c660/1554536039/film_0%04d.ts'%i print("开始下载:"+url) headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36"} r = requests.get(url, headers = headers) # print

Python 爬虫 之 爬取百度贴吧内容的封装、输入贴吧主题即可对应爬取

拜拜、爱过 提交于 2020-02-09 18:22:29
Python 爬虫 之 爬取百度贴吧内容的封装、输入贴吧主题即可对应爬取 目录 Python 爬虫 之 爬取百度贴吧内容的封装、输入贴吧主题即可对应爬取 一、简单介绍 二、知识点 三、效果预览 四、实现步骤 五、关键代码 一、简单介绍 Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。 爬虫的网页请求: 网页请求的过程分为两个环节: Request (请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。 Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求 网页请求的方式也分为两种: GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。 POST:相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外

python爬虫——图片懒加载之爬取站长素材图片

风流意气都作罢 提交于 2020-02-09 16:24:38
一.分析 1.url分析 url可能为http://sc.chinaz.com/tupian/gudianmeinvtupian_{}.html 尝试第一页,http://sc.chinaz.com/tupian/gudianmeinvtupian_1.html,结果不成功,说明第一页和其他页不同 2.查看编码 3.xpath匹配 第一页全部图片浏览完后可以用xpath匹配到: //div[@id="container"]/div/div/a/img/@src 第二页没有全部浏览完 二.图片懒加载技术 1.1什么是懒加载? 懒加载又称延迟加载。当访问一个页面的时候,需要先把img元素或者其他元素的背景图先用一张默认的图片代替(占位图),这样子 浏览器渲染页面的时候就只需请求一次。当图片出现在浏览器可视区域的时候,才设置图片的真实路径,把图片显示出来。 1.2为什么要使用图片懒加载? 当页面中图片的数量多到一定数量的时候,并且图片大小比较大,比如各种商场网站,图片素材网等等。如果在页面一加载的时候就 加载全部图片,显然会影响网站加载速度和加大服务器负担,而且用户体验也必然不好,那么这时候可以采用懒加载。 1.3 懒加载具体实现原理 页面中的img元素之所以会发送http请求的原因是设置了src属性,否则浏览器就不会发送请求去下载这个图片。首先在页面中把所有 的图片用一张占位图进行占位

爬虫的简单操作

ぃ、小莉子 提交于 2020-02-09 14:44:03
今天学习了python爬虫的简单操作。 1.学会创建文件夹和创建文件: 1 import os 2 3 def mkdir(path): 4 if os.path.exists(path):###判断是文件夹否存在,否则有可能会报错 5 print("The path has already existed .") 6 else: 7 os.makedirs(path)###新建文件夹 8 print("Done .") 9 10 def write(path,str): 11 with open(path,"w+") as file:###写文件 12 file.write(str) 13 14 def main(): 15 mkdir("test") 16 write("test/test.txt","hello world") 17 18 if __name__=="__main__": 19 main() View Code 2.得到一个网站的源码(如果能够访问): 1 from bs4 import BeautifulSoup 2 import requests 3 4 def main(): 5 html=requests.get("https://www.baidu.com")###去找这个网址 6 html.encoding="utf-8"###中文网址,换个字符集

爬虫实战【3】Python-如何将html转化为pdf(PdfKit)

◇◆丶佛笑我妖孽 提交于 2020-02-09 12:25:11
爬虫实战【3】Python-如何将html转化为pdf(PdfKit) 前言 前面我们对博客园的文章进行了爬取,结果比较令人满意,可以一下子下载某个博主的所有文章了。但是,我们获取的只有文章中的文本内容,并且是没有排版的,看起来也比较费劲。。。 咋么办的?一个比较好的方法是将文章的正文内容转化成pdf,就不要考虑排版的事情了,看起来比较美观,也不会丢失一些关键信息。 python中将html转化为pdf的常用工具是Wkhtmltopdf工具包,在python环境下,pdfkit是这个工具包的封装类。如何使用pdfkit以及如何配置呢?分如下几个步骤。 1、下载wkhtmltopdf安装包,并且安装到电脑上,在系统Path变量中添加wkhtmltopdf的bin路径,以便于pdfkit的调用。 下载地址: https://wkhtmltopdf.org/downloads.html 请根据自己的系统版本,选择合适的安装包。如果没有装C语言库,建议选择Windows下的第二种。 【插入图片 pdf1】 2、在pycharm中安装pdfkit库,过程就不介绍啦,前面讲过类似的内容。 3、在pycharm中安装whtmltopdf库。 这个和第一步中的安装包是两个东西,请区别开来。 用法简介 对于简单的任务来说,代码很easy,比如: import pdfkit pdfkit.from

56-爬虫-ip代理的使用

拜拜、爱过 提交于 2020-02-08 19:00:17
为了防止频繁访问而导致的IP被服务器封掉的可能,可以使用Ip代理来实现。 使用方法,在requests的函数中加个proxies参数即可: page_text = requests.get(url=url, headers=headers, proxies={'http': '60.167.132.19:9999'} ) 可以使用的免费IP代理可以从如下网站获取: 1.快代理: https://www.kuaidaili.com/free/ 2.西刺代理: https://www.xicidaili.com/nn/ 网上还有其它的。 下面再给个抓取免费代理的代码,会将快代理网址的ip存入运行文件相同路径下的data文件夹中。 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/2/5 10:42 # @Author : ystraw # @Site : # @File : getIpPool.py # @Software: PyCharm Community Edition # @function: 从快代理获取可用的代理IP # https://www.kuaidaili.com/free/inha/2/ import requests import time import random from bs4

Python从零开始写爬虫-3 获取需要抓取的URLs

别说谁变了你拦得住时间么 提交于 2020-02-08 18:03:56
Python从零开始写爬虫-3 获取需要抓取的URLs   在一节中,我们学习了如果通过正则表达式来获取HTML里面指点便签的内容, 那么我今天就来看看实际的效果.在抓取小说之前, 我们需要知道小说有哪些章节,以及这些章节的顺序.   刚开始我是通过获取一个章节, 然后从这个章节获取下个章节的链接, 然后发现这个方法问题很大. 该方法只能单线程操作, 对于抓取小说来非常的满, 几乎没有爬虫是单线程, 单线程的效率是无法被接受的. 鲁棒性差, 只要有一个章节没有正确的抓取下来, 那么整个程序就无法进行. 这样的做的好处, 可以保证章节的连续性. 后来发现我发现可以直接通过目录来获取全部章节的目录.话不多说,开始我们今天的任务, 获取URLs 首先通过 第一节 学习到内容, 获取小说的目录页.这里以小说 吞噬星空 为例. import requests r = requests.get('http://www.biquger.com/biquge/12928/') r.encoding = 'utf-8' print(r.text) 观察url的格式 通过观察下载的html源码, 可以发现, 所有的URL都以: <dd><a href="http://www.biquger.com/biquge/12928/4282781" title="第一章 罗峰">第一章 罗峰</a></dd>

爬虫入门(四):urllib2

戏子无情 提交于 2020-02-08 13:28:18
主要使用python自带的urllib2进行爬虫实验。 写在前面的蠢事: 本来新建了一个urllib2.py便于好认识这是urllib2的实验,结果始终编译不通过,错误错误。不能用Python的关键字(保留字)来命名py文件,改了就好了。 正则表达式与re Python 通过 re 模块提供对正则表达式的支持。使用 re 的一般步骤是: Step1:先将正则表达式的字符串形式编译为Pattern实例。 Step2:然后使用Pattern实例处理文本并获得匹配结果(一个Match实例)。 Step3:最后使用Match实例获得信息,进行其他的操作。 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2016-10-14 21:16:25 # @Author : Nicolo (1241251168@qq.com) # @Link : http://www.xiaosablog.cf/ # @Version : $Id$ #一个简单的re实例,匹配字符串中的hello字符串 #导入re模块 import re # 将正则表达式编译成Pattern对象,注意hello前面的r的意思是“原生字符串” pattern = re.compile(r'hello') # 使用Pattern匹配文本,获得匹配结果