Python要访问一个网页并读取网页内容非常简单,在利用<第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头>的方法构建了请求http报文的请求头情况下,使用urllib包的request模块使得这项工作变得非常容易,具体语句如下: header = mkhead() req = urllib.request.Request(url=site,headers=header) sitetext = urllib.request.urlopen(req).read(…
一. 引言 在<第14.6节 Python模拟浏览器访问网页的实现代码>介绍了使用urllib包的request模块访问网页的方法.但上节特别说明http报文头Accept-Encoding最好不设置,否则服务端会根据该字段及服务端的情况采用对应方式压缩http报文体,如果爬虫应用没有解压支持会导致应用无法识别收到的响应报文体.本节简单介绍一下怎么处理响应报文体的压缩. 在爬虫爬取网页时,如果在请求头中传递了"'Accept-Encoding':'gzip'"信息则服务器会…
一.简介 urllib.request 模块提供了访问 URL 的相关功能 二.常用函数 urllib.request.urlopen("http://httpbin.org", timeout=1)   // 访问网页,并设置1秒的超时时间(urlopen 只能实现最基本的请求) 读: .read()   // 读取网页(二进制) .decode('utf-8')   // 以 utf-8 解码网页 .geturl()   // 获取访问的 URL 信息: .info()   //…
Python使用mechanize模拟浏览器 之前我使用自带的urllib2模拟浏览器去进行訪问网页等操作,非常多站点都会出错误,还会返回乱码.之后使用了 mechanize模拟浏览器,这些情况都没出现过,真的非常好用.这里向大家推荐一下. mechanize是对urllib2的部分功能的替换,能够更好的模拟浏览器行为,在web訪问控制方面做得更全面. 首先从安装開始吧,以ubuntu系统为例: python 绝大部分第三方软件包.都是标准安装方式,从官网下载之后.解压到一个文件夹内,然后在这个…
如果要从一个互联网前端开发的小白,学习爬虫开发,结合自己的经验老猿认为爬虫学习之路应该是这样的: 一. 了解HTML语言及css知识 这方面的知识请大家通过w3school 去学习,老猿对于html总结了部分基础知识内容,在<第14.2节 HTML知识简介>进行介绍,其他的大家到w3school 去学习. 二. 学习http协议相关的知识 需要了解url的构成.http协议头的结构.http协议支持的get方法等内容.这方面推荐大家学习如下老猿转发的博文: <url的组成结构信息>…
使用浏览器渲染引擎.直接用浏览器在显示网页时解析HTML,应用CSS样式并执行JavaScript的语句. 这方法在爬虫过程中会打开一个浏览器,加载该网页,自动操作浏览器浏览各个网页,顺便把数据抓下来.用一句简单而通俗的话说,使用浏览器渲染方法,爬取动态网页变成了爬取静态网页. 我们可以用Python的selenium库模拟浏览器完成抓取.Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真正的…
1.安装及下载 selenium安装: pip install selenium  即可自动安装selenium geckodriver下载:https://github.com/mozilla/geckodriver/releases Chromedriver下载:http://npm.taobao.org/mirrors/chromedriver/ 2.保存路径 将下载好的geckodriver以及Chromedriver解压到桌面,打开我的电脑,找到Python文件夹中anancode文件…
转载自:https://blog.csdn.net/ywy0ywy/article/details/52733839 python2.7 httplib, urllib, urllib2, requests 库的简单使用 2016年10月04日 14:33:45 阅读数:16825 httplib实现了HTTP协议,是比较底层的实现,一般不直接使用. urllib, urllib2是对httplib的高层封装,urllib2可以接受一个Request类的实例来设置URL请求的headers,ur…
安装 Windows: pip install mechanize Linux:pip install python-mechanize 个人感觉mechanize也只适用于静态网页的抓取,如果是异步的数据,则页面显示的结果与抓取的结果不一致,使用有比较大的局限性. 功能测试:百度搜索萧县房价 准备工作: # _*_ coding:utf-8 _*_ import mechanize# 创建一个浏览器实例 br = mechanize.Browser()# 设置是否处理HTML http-equ…
selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdriver驱动浏览器操作,我使用的是chrome浏览器,下载chrome  webdriver 放到python的安装目录. 参考连接: https://pypi.python.org/pypi/selenium http://selenium-python.readthedocs.io/api.html http://www.cnblogs.co…
# -*- coding: utf-8 -*-"""Created on Mon Mar 7 10:53:40 2016 @author: root"""import urllib2import sslfrom selenium import webdriver sel=webdriver.Firefox() loginurl = 'https://18.63.191.89:80/Account/Login' sel.get(loginurl)…
selenium 最开始我碰到SE,是上学期期末,我们那个商务小组做田野调查时发的问卷的事情.当时在问卷星上发了个问卷,但是当时我对另外几个组员的做法颇有微词,又恰好开始学一些软件知识了,就想恶作剧(一方面是小小地报复下他们,另一方面也是为了让做数据分析的自己分析起来更方便).当时就是用了SE操作浏览器刷了一波问卷,知道页面出现了验证码不让我再刷.虽然最终没想到问卷星还会统计每张问卷的完成时间导致最终的报表有一堆问卷两三秒就完成了,不知道被组员看出破绽没有,不过就刷问卷而言是顺利结束了.之后再深…
引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输入网址就可以访问相应的站点内容,这个就是通常所说的基于界面的浏览器.除了这种浏览器之外,还有一种叫做无头浏览器的东西,主要是用作爬虫,用以捕捉Web上的各类数据:这里的无头主要是指没有界面,完全是后台操作,对于网站来说,它以为访问它的就是一个真实的浏览器. 此类的框架包括: Phantomjs为代表…
如下都是一些经验之谈,不定期更新,喜欢可以关注哦. 忽略ssl报错 一些证书问题会导致程序报错,解决方法为在发送请求的时候,带上verify=False参数即可: result = requests.get(burp0_url, headers=burp0_headers, verify=False) 为requests设置代理 这个功能其实很实用,有时想用requests模拟浏览器发包,但是结果和浏览器不一样时,那么可以通过设置代理的方式,拦截requests的发包和浏览器的发包,通过对比,你…
利用urllib.request读取url文档的内容并使用BeautifulSoup解析后,可以通过一些基本的BeautifulSoup对象输出html文档的基本信息.以博文<第14.6节 使用Python urllib.request模拟浏览器访问网页的实现代码>访问为例,读取和解析代码如下: >>> from bs4 import BeautifulSoup >>> import urllib.request >>> def getUR…
上节<第14.3节 使用google浏览器获取网站访问的http信息>中介绍了使用Google浏览器怎么获取网站访问的http相关报文信息,本节介绍IE浏览器中怎么获取相关信息.以上节为基础,部分http相关知识在此不再介绍. 步骤1:登录网站并打开准备获取信息的网页 步骤2:在网页上按F12或选择对应内容后鼠标右键选择检查元素(如下图) 打开开发者工具并点击下图左上角蓝色标记的"启用网络流量捕获"的按钮开始捕获网页的网络报文: 回到网页访问窗口刷新页面再回到开发者工具窗口…
写在前面:本文相关方法为作者独创,仅供参考学习爬虫技术使用,请勿用作它途,禁止转载! 一. 引言 在爬虫爬取网页时,有时候希望不同的时候能以不同公网地址去爬取相关的内容,去网上购买地址资源池是大部分人员的选择.老猿所在的环境有电信运输商部署的对外开放的WiFi,由于涉及对外开放支持不同用户接入,其分配的地址经过NAT地址转换,但其公网地址一定是一个地址池,对于需要公网地址池资源的人员来说,这就是一个免费的地址资源池.本节介绍的内容就是怎么借用这个地址资源池作为自己的地址池. 二. 要解决的问题…
一. 引言 在<第14.3节 使用google浏览器获取网站访问的http信息>和<第14.4节 使用IE浏览器获取网站访问的http信息>中介绍了使用Google浏览器和IE浏览器怎么获取网站访问的http相关报文信息,本节介绍利用获取的信息怎么在Python应用中构建http访问报文头.本节介绍的获取信息以Google浏览器获取的http信息为准,相当于应用访问网站是模拟谷歌浏览器进行访问,IE的原理一样,大家可以自行处理. 二. 从浏览器中获取到http请求报文的报文头信息…
老猿前期执行如下代码时报"'utf-8' codec can't decode byte"错,代码及错误信息如下: >>> import urllib.request >>> def mkhead(): header = {'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-…
urllib是python3.x中提供的一系列操作的URL的库,它可以轻松的模拟用户使用浏览器访问网页. Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 1.安装python最新安装包3.5.2 下载地址:https://www.python.org/…
request.method: 获取请求的方法,例如 GET.POST 等 views.py: from django.shortcuts import render, HttpResponse # request 对象 def test(request): print(request.method) return render(request, "test.html") 访问页面 可以通过 request.method 查看请求方式 request.GET: 用来获取 URL 里面的…
想用python模拟浏览器访问web的方法测试些东西,有哪几种方法呢? 一类:单纯的访问web,不解析其js,css等. 1. urllib2 #-*- coding:utf-8 -* import urllib2 def Furllib2(ip,port,url,timeout): proxydict = {} proxydict['http'] = "http://%s:%s"%(ip,port) print proxydict proxy_handler = urllib2.Pr…
爬取起点中文网某本小说实例: # -*-coding:utf8-*- import requests import urllib import urllib2 from bs4 import BeautifulSoup import sys reload(sys) sys.setdefaultencoding('utf-8') #读写中文内容 class QDZW: def __init__(self, url): self.url = url #网址 self.user_agent = 'Mo…
以爬取搜狗图片为例,网页特点:采用“瀑布流”的方式加载图片,图片的真实地址存放在XHR中 #-*-coding:utf8-*- import requests import urllib import json import math import os class SG: def __init__(self,pic_num): self.num = pic_num self.user_agent = 'Mozilla/5.0 (Windows NT 6.1; W…) Gecko/2010010…
两种思绪三种要领: 用pamie.建议不要使用,因为pamie为小我私人开发,里面的bug比力多,并且是直接使用win32com体式格局的,如果ie不警惕修改了,后果很严重.另外,pamie3使用的是python3,这个在python世界中撑持的不太好. 用selenium rc.这个东东大好,如果用这个东东完成网页自动实验正确,撑持多种浏览器,并且是公司开发的,上手难易程度类似pamie.只不过需要打开浏览器,这个就看大家的需要了. 用mechanize和beautiful soup.这个东东…
一. 引言 一般情况下,没有特殊要求的客户,宽带服务提供商提供的上网服务,给客户家庭宽带分配的地址都是一个宽带服务提供商的内部服务地址,真正对外访问时通过NAT进行映射到一个公网地址,如果我们想确认自己的公网地址还不是很容易,但百度提供了一项服务,在百度查询时输入IP就可以查到浏览器所在本机的公网IP,利用该功能我们就可以查到本机公网IP,本节老猿就是要request+BeatifulSoap实现本机公网地址解析. 二. 百度公网地址解析过程分析 按<第14.3节 使用google浏览器获取网站…
写在前面:本文仅供参考学习,请勿用作它途,禁止转载! 在<第14.14节 爬虫实战准备:csdn博文点赞过程http请求和响应信息分析>老猿分析了csdn博文点赞处理的http请求和响应报文,在<第14.15节 爬虫实战1:使用Python和selenium实现csdn博文点赞>中通过selenium方式实现了博文自动点赞,但selenium方式老猿觉得并不是一个真正的爬虫实现方式,因此本节老猿将通过request+BeautifulSoup的方式实现一个真正爬虫式的CSDN博文自…
一. 引言 BeautifulSoup是一个三方模块bs4中提供的进行HTML解析的类,可以认为是一个HTML解析工具箱,对HTML报文中的标签具有比较好的容错识别功能.阅读本节需要了解html相关的基础知识,如果这方面知识不足请参考<第14.2节 HTML知识简介>. 二. BeautifulSoup安装.导入和创建对象 安装BeautifulSoup和lxml BeautifulSoup是bs4模块的类,lxml是一款html文本解析器,在操作系统命令行方式执行安装bs4模块和lxml解析…
写在前面:本文仅供参考学习,请勿用作它途,禁止转载! 在开始学爬虫时,学习了csdn博客专家(id:明天依旧可好 | 柯尊柏)<实战项目二:实现CSDN自动点赞>的文章,文章介绍了通过Python和selenium模块实现csdn指定文章点赞的过程,老猿学习后,照葫芦画瓢自己实践了一番,发现文章介绍内容完全可行,如下5个点如果能进一步完善会更好: 文章中给定的<[谷歌驱动器下载]>在老猿所在的各种网络环境都无法打开,后来老猿通过网上找到博文<chromedriver.exe下…
import urllib.request import urllib.parse import json proxy_support = urllib.request.ProxyHandler({'http':'http://10.3.246.5:8500'}) opener = urllib.request.build_opener(proxy_support, urllib.request.HTTPHandler) urllib.request.install_opener(opener)…