爬虫小探-Python3 urllib.request获取页面数据

使用Python3 urllib.request中的Requests()和urlopen()方法获取页面源码,并用re正则进行正则匹配查找需要的数据。

#forex.py#coding:utf-8
‘‘‘
urllib.request.urlopen() function in Python 3 is equivalent to urllib2.urlopen() in Python2
urllib.request.Request() function in Python 3 is equivalent to urllib2.Request() in Python2
‘‘‘
#python3.5
import urllib.request
#python2.7
#import urllib
#import urllib2

import re

def Gethtml(url, referer):
    user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:53.0) Gecko/20100101 Firefox/53.0"
    headers={"User-agent":user_agent,‘referer‘:referer}
    #python3.5
    req=urllib.request.Request(url,headers=headers)
    response=urllib.request.urlopen(req,timeout=10)
    #python2.7
    #req=urllib2.Request(url,headers=headers)
    #response=urllib2.urlopen(req,timeout=10)
    return response.read()

url=referer="http://quote.forex.hexun.com/EURUSD.shtml"
html = str(Gethtml(url, referer))
reg = r‘([0-1]{1}\.[0-9]{4})‘
i = re.compile(reg)
r = re.findall(i, html)
print("Hexun ERUUSD:\nCur   |     Open |  Yesterday  |  Low  |  High")
print(r)

运行:python forex.py

输出:

Hexun ERUUSD:
Cur   |     Open |  Yesterday  |  Low  |  High
[‘1.1278‘, ‘1.1211‘, ‘1.1211‘, ‘1.1203‘, ‘1.1285‘]

referer是反盗链,服务器会识别headers中的referer是不是它自己,如果不是,有的服务器不会响应,timeout=10 是超时设定。

参考:

http://www.jianshu.com/p/d4ebace4ddcf

时间: 2024-10-13 12:41:52

爬虫小探-Python3 urllib.request获取页面数据的相关文章

在Servlet端获取html页面选中的checkbox值,request获取页面checkbox(复选框)值

html端代码: 适用人群: <input type="checkbox" name="crowd" value="幼儿">幼儿 <input type="checkbox" name="crowd" value="青少年">青少年 <input type="checkbox" name="crowd" value=&

获取WebBrowser全cookie 和 httpWebRequest 异步获取页面数据

获取WebBrowser全cookie [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref int pcchCookieData, int dwFlags, object lpRe

Python3 urllib.request库的基本使用

urllib.request库 是 Python3 自带的模块(不需要下载,导入即可使用)python 自带的模块库文件都是在C:\Python\Lib目录下(C:\Python是我Python的安装目录),python第三方模块库都是在C:\Python\Lib\site-packages 下.urllib.request库在windows下的路径(C:\Python\Lib\urllib). 一:用urllib.request 里的urlopen()方法发送一个请求 import urlli

爬虫初探(1)之urllib.request

-----------我是小白------------ urllib.request是python3自带的库(python3.x版本特有),我们用它来请求网页,并获取网页源码. # 导入使用库 import urllib.request url = "http://www.baidu.com" # urlopen用来打开一个网页 data = urllib.request.urlopen(url) # 这里的rend()是必须的,否则不能打印源码. data = data.read()

python网络爬虫《爬取get请求的页面数据》

一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在python3中的为urllib.request和urllib.parse,在python2中是urllib和urllib2. 二.由易到难的爬虫程序: 1.爬取百度首页所有数据值 #!/usr/bin/env python # -*- coding:utf-8 -*- #导包 import urllib.request import urllib.parse

JS获取页面数据执行Ajax请求

下面这个例子展示了如何使用js获取页面中元素的值,并且将这些值作为参数执行Ajax请求. $("#submit-task").bind("click", function (event) { event.preventDefault(); event.stopPropagation(); if(validate() == false){ exit; } var submitBtn = this; // 禁止提交按钮 $(submitBtn).attr('disabl

小程序 :修改上一页面数据

在本页面 上一页面中含有的函数 原文地址:https://www.cnblogs.com/Falling-snow/p/10164401.html

Python3.x:获取登录界面校验码图片

Python3.x:获取登录界面校验码图片 实例代码: # python3 # author lizm # datetime 2018-06-01 18:00:00 # -*- coding: utf-8 -*- ''' oa:http://******/login/loginpage.do ''' from splinter.browser import Browser from time import sleep # traceback模块被用来跟踪异常返回信息 import traceba

在python3中使用urllib.request编写简单的网络爬虫

Python官方提供了用于编写网络爬虫的包 urllib.request, 我们主要用它进行打开url,读取url里面的内容,下载里面的图片. 分以下几步: step1:用urllib.request.urlopen打开目标网站 step2:由于urllib.request.urlopen返回的是一个http.client.HTTPResponse object,无法直接读取里面的内容,所以直接调用该对象的方法read(),获取到页面代码,存到html里 step3:构建正则表达式,从页面代码里