python爬虫模块之HTML下载模块

HTML下载模块

该模块主要是根据提供的url进行下载对应url的网页内容。使用模块requets-HTML,加入重试逻辑以及设定最大重试次数,同时限制访问时间,防止长时间未响应造成程序假死现象。

根据返回的状态码进行判断如果访问成功则返回源码,否则开始重试,如果出现异常也是进行重试操作。

from requests_html import HTMLSession
from fake_useragent import UserAgent
import requests
import time
import random
class Gethtml():
    def __init__(self,url="http://wwww.baidu.com"):
        self.ua = UserAgent()
        self.url=url
        self.session=HTMLSession(mock_browser=True)
        #关于headers有个默认的方法 self.headers = default_headers()
        #mock_browser 表示使用useragent
    def get_source(self,url,retry=1):
           if retry>3:
               print("重试三次以上,跳出循环")
               return None
           while retry<3:
               try:
                  req=self.session.get(url,timeout=10)
                  if req.status_code==requests.codes.ok:
                      return req.text
                  else:
                      time.sleep(random.randint(0,6))
               except:
                   print(‘Unfortunitely -- An Unknow Error Happened, Please wait 0-6 seconds‘)
                   time.sleep(random.randint(0, 6))
                   retry += 1
                   self.get_source(url,retry)

  

原文地址:https://www.cnblogs.com/c-x-a/p/9175067.html

时间: 2024-10-08 12:09:24

python爬虫模块之HTML下载模块的相关文章

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

Python爬虫获取图片并下载保存至本地的实例

今天小编就为大家分享一篇Python爬虫获取图片并下载保存在本地的实例,具有很好的参考价值,希望对大家有所帮助.一起来看看吧! 1.抓取煎蛋网上的图片 2.代码如下 * * * import urllib.request import os def url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Geck

【Rollo的Python之路】Python 爬虫系统学习 (二) Requests 模块学习

Requests模块学习: 1.0  Requests 初识 Requests 模块是一个第三方的库,首先我们要安装Requests.用pip安装,先看一下pip是哪个python 的版本. pip --version 然后用pip安装就OK pip install requests 开始要导入 Requests 模块 import requests 然后我们试一下: import requests results = requests.get('https://www.baidu.com')

[python][爬虫]暴漫gif下载

说明:和上一个下载百度贴吧图片差不多,修改了正则,加入了页码控制 #!/usr/bin/env python #! -*- coding: utf-8 -*- #图片地址样例:src="http://ww2.sinaimg.cn/large/005Yan1vjw1erf95qkbfog307e08uu0y.gif" style="width:460px" import urllib,urllib2 import re #返回网页源代码 def getHtml(url

[python][爬虫]从网页中下载图片

说明:仅为测试下载图片.正则表达式 测试url为钢铁侠贴吧的一个介绍mark各代盔甲帖子 以下代码将第一页的图片全部下载到本程序根目录 #!/usr/bin/env python #! -*- coding: utf-8 -*- import urllib,urllib2 import re #返回网页源代码 def getHtml(url): html = urllib2.urlopen(url) srcCode = html.read() return srcCode def getImg(

python爬虫之小说网站--下载小说(正则表达式)

思路: 1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/2447.html) 2.分析自己要得到的内容,首先分析url,发现只有后面的是变化的,先获得小说的没有相对路径,然后组合成新的url(每章小说的url) 3.获得每章小说的内容,进行美化处理 代码如下: #小说爬虫 import requests import re url='https://www.kanunu8.com/book4/10509/' #因

python爬虫实战——5分钟做个图片自动下载器

python爬虫实战--图片自动下载器 制作爬虫的基本步骤 顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤. 一般来说,制作一个爬虫需要分以下几个步骤: 分析需求(对,需求分析非常重要,不要告诉我你老师没教你) 分析网页源代码,配合F12(没有F12那么乱的网页源代码,你想看死我?) 编写正则表达式或者XPath表达式(就是前面说的那个神器) 正式编写python爬虫代码 效果 运行: 恩,让我输入关键词,让我想想,输入什么好呢?好像有点暴露爱好了. 回车 好像开始下载了!好赞!,我看

【图文详解】python爬虫实战——5分钟做个图片自动下载器

python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识,大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap show me the code! 制作爬虫的基本步骤 顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤. 一般来说,制作一个爬虫需要分以下几个步骤: 1. 分析需求(对,需求分析非常重要,不要告诉我你老师没教你) 2. 分析网页源代码,配合F12(没有F12那么乱的网页源代码,你想看死我?) 3. 编写正则表达式或

教你分分钟学会用python爬虫框架Scrapy爬取你想要的内容

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 python爬虫学习课程,下载地址:https://pan.baidu.com/s/1v6ik6YKhmqrqTCICmuceug 课程代码原件:课程视频: 原文地址:http://blog.51cto.com/aino007/2123341