urllib

python爬虫学习笔记(二)

a 夏天 提交于 2020-03-04 06:17:34
上一篇介绍了爬虫的基本用法,用来简单的爬取了一个网站,我们直接用网址就访问了一个网站,但这样是很不好的,有的网站这样也进不去,打个比方,就像我们知道某个人的家庭住址,我们想找她的时候直接就闯了进去,也没说我们是谁,也没和他说我们要来找他,这样可以吗?当然不行!所以我们访问网站时还应该把我们伪装一下,伪装成一个浏览器,这样我们就算是个正常用户了。 我们怎么来伪装呢?要执行更复杂的操作,我们需要给urlopen传入一个requst对象而不是一个简单的网址, import urllib . request #引入库 req = urllib . request . Request ( "https://www.baidu.cn" ) #创建request对象 response = urllib . request . urlopen ( req ) #访问网页 text = response . read ( ) . decode ( ) #解码 print ( text ) 而要实现我们伪装成浏览器的目的,我们还需要给request对象一个User-Agent的报头,这个User-Agent,是每个浏览器都有的一个东西,你可以按F12,在开发者工具的network里找到。 再说request对象,他可以接收多个参数 url(网址), data(用来传递post参数,默认空),

AttributeError: module 'urllib3' has no attribute 'urlopen' in python

心已入冬 提交于 2020-03-03 13:57:48
问题 I am trying to send temperature data over onto one of my website currently online. This code consists of measuring the temperature through a sensor(ds18b20), sending that data onto a mysql databse entitled temp_pi and specifically onto a table intitled TAB_CLASSROOM and lastly sending that data onto a webpage of mine. Everything in this code runs except for the sendDataToServer() part. I specify the error right before this particular line. I have the PHP set up on my website for this to work.

python爬虫工程师 成长之路三 URLlib库和URLError处理

依然范特西╮ 提交于 2020-03-02 01:00:43
文章目录 URLlib库概述 使用URLlib爬取网页 urllib常用方法 浏览器伪装 获取浏览器Headers属性 使用build_opener()修改报头 使用add_header()添加报头 超时设置 http协议请求 代理服务器设置 DebugLog URLRrror URLlib库概述 URLlib是python提供的一个用于操作URL的模块,常用于爬取网页,python3.x中将python2.x中的URLlib和URLlib2合并成为新的URLlib。 使用URLlib爬取网页 导入URLlib.request import urllib . request 使用urllib.request.urlopen打开需要爬取的网站并用web接收一下 web = urllib . request . urlopen ( 'http://www.baidu.com' ) 读取网页内容 data = web . read ( ) #读取网页的全部内容 dataline = web . readline ( ) #读取网页的一行内容 查看网页内容 将网页存到本地 urlllib.request.urlretrieve(url,filename) url:网页的网址 filename:存放文件的地址与名称 urllib . request . urlretrieve ( 'http

python中urllib.request对象案例

懵懂的女人 提交于 2020-03-01 19:58:10
刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊! 什么是 Urllib 库? urllib 库 是 Python 内置的 HTTP 请求库。urllib 模块提供的上层接口,使访问 www 和 ftp 上的数据就像访问本地文件一样。 有以下几种模块: 1.urllib.request 请求模块 2. urllib.error 异常处理模块 3. urllib.parse url 解析模块 4. urllib.robotparser robots.txt 解析模块 Urllib 库下的几种模块基本使用如下: urllib.request 关于 urllib.request : urllib.request 模块提供了最基本的构造 HTTP (或其他协议如 FTP)请求的方法,利用它可以模拟 浏览器 的一个请求发起过程。利用不同的协议去获取 URL 信息。它的某些接口能够处理基础认证 ( Basic Authenticaton) 、redirections (HTTP 重定向)、 Cookies (浏览器 Cookies)等情况。而这些接口是由 handlers 和 openers 对象提供的。 1.常用的方法有   read()==读取文件内容   geturl()==获取请求url   getheaders()==获取http请求头信息  

urllib简单介绍

无人久伴 提交于 2020-02-26 14:31:34
# urllib简介: 1.urllib模块是Python的一个请求模块 2.Python2中是urllib和urllib2相结合实现请求的发送. Python3中统一为urllib库 3.urllib是Python内置的请求库, 其包含4个模块: (1).request模块: 模拟发送请求 (2).error模块: 异常处理模块 (3).parse模块: 工具模块, 提供关于URL的处理方法, 如拆分, 解析, 合并等 (4).robotparser模块: 识别robots协议 # 部分方法使用介绍: # urlopen方法实现get请求: from urllib import request url = 'https://www.python.org' res = request.urlopen(url) print(res.read()) with open('python.html', 'w') as f: f.write(res.read().decode('utf-8')) # post请求: import urllib.request import urllib.parse url='https://fanyi.baidu.com/sug' postdata=urllib.parse.urlencode({'kw':'boy'}).encode('utf-8')

Python常用模块总结

浪子不回头ぞ 提交于 2020-02-25 01:14:30
1、os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作目录 os.getcwd() 获取当前文件路径 os.mkdir() 新建目录 os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree()) os.makedirs() 创建多级目录 os.removedirs() 删除多级目录 os.stat(file) 获取文件属性 os.chmod(file) 修改文件权限 os.utime(file) 修改文件时间戳 os.name(file) 获取操作系统标识 os.system() 执行操作系统命令 os.execvp() 启动一个新进程 os.fork() 获取父进程ID,在子进程返回中返回0 os.execvp() 执行外部程序脚本(Uinx) os.spawn() 执行外部程序脚本(Windows) os.access(path, mode) 判断文件权限(详细参考cnblogs) os.wait() 暂时未知 os.path模块: os.path.split(filename) 将文件路径和文件名分割(会将最后一个目录作为文件名而分离) os.path.splitext(filename)

How to call JavaScript function using BeautifulSoup and Python

强颜欢笑 提交于 2020-02-24 07:29:28
问题 I am performing web scrapping to grab data from a website as part of my project. I can make the request and grab the data which is present in the dom. However, some data is getting rendered on javascript onClick function. One way could be, using the selenium to click on the link (which calls the javascript function) and grab the rendered data, but this process is time-consuming, and I don't want to open the browser. Is there any way other than selenium to achieve this? Website: http://catalog

How to call JavaScript function using BeautifulSoup and Python

我们两清 提交于 2020-02-24 07:28:59
问题 I am performing web scrapping to grab data from a website as part of my project. I can make the request and grab the data which is present in the dom. However, some data is getting rendered on javascript onClick function. One way could be, using the selenium to click on the link (which calls the javascript function) and grab the rendered data, but this process is time-consuming, and I don't want to open the browser. Is there any way other than selenium to achieve this? Website: http://catalog

urllib库的学习-发起请求urlopen-下载资源urlretrleve

梦想的初衷 提交于 2020-02-22 10:00:23
urllib库 urlopen函数 功能 发起请求,获取响应 参数data用于发起post请求时用 响应对象是一个类似于文件句柄的一个对象 具有 read readline readlines getcode 等方法 代码 # 导入模块 from urllib import request # 请求网页 res = request . urlopen ( 网址 ) # res就是一个类句柄对象 例子 urlretrleve函数 功能 下载网页 from urllib import request request . urlretrieve ( 请求网址,保存路径) 例子 直接下载图片 来源: CSDN 作者: ifubing 链接: https://blog.csdn.net/ifubing/article/details/104437776

Python 与 http请求

橙三吉。 提交于 2020-02-15 07:10:40
Python 与 http请求 文章目录 Python 与 http请求 HTTP 基本原理 URI & URL 超文本 HTTP & HTTPS HTTP 请求过程 请求与响应 请求(Request) 响应(Response) 会话 和 Cookies 会话 Cookies 代理 网页基础 HTML, 超文本标记语言 CSS, 层叠样式表 JavaScript, 脚本语言 网页结构 选择器 用 Python 发起 HTTP 请求 urllib urllib.request 发送请求 `urlopen()`: 发送请求 `urlopen()` 带 `data` 参数: 用 POST 发送一些数据 `urlopen()` 带 `timeout` 参数: 如果请求超出了设置的这个时间,还没有得到响应,就会抛出异常。 Request 类构建 Headers Request类 的构建参数 高级用法 Handler Opener 处理 `HTTP 基本认证` 使用 `代理` 处理 Cookies 获取 Cookies 取用 Cookies urllib.error 处理异常 URLError: HTTPError 综合使用: urllib.parse 解析链接 quote() 将内容转化为 URL 编码的格式 urlparse() URL的识别和分段 urlunparse() 合成URL