Python3之网络爬虫<0>初级

由于Python3合并URLib与URLlib2统一为URLlib,Python3将urlopen方法放在了urllib.request对象下。

官方文档:https://docs.python.org/3/library/urllib.request.html#module-urllib.request

在实现爬取网页过程中,屡次执行以下脚本:

#coding:UTF-8
import random;
import urllib.request;# 不推荐使用 import urllib
rawdata =
urllib.request.urlopen(‘http://www.111cn.net/phper/python/68713.htm‘).read();

file = open("testfile","w+");
file.write(str(rawdata));

然而屡次报错:

E:\workspace\Python\python_study201708>python charsetTest.py
Traceback (most recent call last):
File "charsetTest.py", line 3, in <module>
import urllib.request;
File "D:\Python\lib\urllib\request.py", line 98, in <module>
import tempfile
File "D:\Python\lib\tempfile.py", line 45, in <module>
from random import Random as _Random
ImportError: cannot import name ‘Random‘

于是乎,我就抖了一下机灵:

将tempfile.py中第45行导入代码更改为:

# from random import Random as _Random #20170823 22:22改
from _random import Random as _Random

给它换了一个导入对象~

然后运行成功。

留下疑问:

  这难道是py3的bug么??。。。。。不是有那么多人用urllib这个模块么,难道都没有出现和发现这个问题?错觉?。。excuse me?

参考文档:

  Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)[http://www.111cn.net/phper/python/68713.htm]

时间: 2024-10-14 19:50:53

Python3之网络爬虫<0>初级的相关文章

【C++&amp;爬虫】C++实现网络爬虫&amp;socket初级教程

2019年了,发现以前的很多教程都不能用了. 我自己写的socket发给服务器总是返回301错误--资源永久转移.很多教程都是这样,困扰了我很久. 终于我发现了一篇能用的爬虫代码,参考MSDN以及众多博主的博客,大概给这篇代码做了注解. #define _WINSOCK_DEPRECATED_NO_WARNINGS #include <iostream> #include <vector> #include <list> #include <map> #in

python3编写网络爬虫18-代理池的维护

一.代理池的维护 上面我们利用代理可以解决目标网站封IP的问题 在网上有大量公开的免费代理 或者我们也可以购买付费的代理IP但是无论是免费的还是付费的,都不能保证都是可用的 因为可能此IP被其他人使用来爬取同样的目标站点而被封禁或者代理服务器突然故障或者网络繁忙 一旦选用了一个不可用的代理,这势必会影响爬虫的工作效率 1.准备工作 需要安装Redis数据库并启动服务 另外还需要安装aiohttp.requests.redis-py.pyquery.flask库 redis数据库安装 下载地址 h

2017年最新Python3.6网络爬虫实战案例基础+实战+框架+分布式高清视频教程

课程简介: 这是一套目前为止我觉得最适合小白学习的体系非常完整的Python爬虫课程,使用的Python3.6的版本,用到anaconda来开发python程序,老师讲解的很细致,课程体系设置的也非常棒,完全是从浅入深一点点讲解,从Python爬虫环境的安装开始,讲解了最最基本的urllib包如何使用,如何解析request请求内容,刷选有用数据,像ajax,post,html,json等等都非常细致的一一讲解,然后逐步深入到如何利用cookie,ip代{过}{滤}理池的技术,来解决登陆验证与防

Python3编写网络爬虫12-数据存储方式五-非关系型数据库存储

非关系型数据库存储 NoSQL 全称 Not Only SQL 意为非SQL 泛指非关系型数据库.基于键值对 不需要经过SQL层解析 数据之间没有耦合性 性能非常高. 非关系型数据库可细分如下: 键值存储数据库: 代表有Redis.Voldemort.和Oracle BDB等. 列存储数据库:代表有Cassandra.HBase.和Riak等. 文档型数据库:代表有CouchDB.Mongodb等. 图形数据库:代表有Neo4J.InfoGrid.Infinite.Graph等. 对于爬虫的数据

Python3编写网络爬虫04-爬取猫眼电影排行实例

利用requests库和正则表达式 抓取猫眼电影TOP100 (requests比urllib使用更方便,由于没有学习HTML系统解析库 选用re) 1.目标 抓取电影名称 时间 评分 图片等 url http://maoyan.com/board/4 结果以文件形式保存 2.分析 offset 代表偏移量 如果为n 电影序号为n+1~n+10 每页显示10个 获取100 分开请求10次 offset 分别为0 10 20...90 利用正则提取相关信息 3.抓取页面 import reques

Python3编写网络爬虫05-基本解析库XPath的使用

一.XPath 全称 XML Path Language 是一门在XML文档中 查找信息的语言 最初是用来搜寻XML文档的 但是它同样适用于HTML文档的搜索 XPath 的选择功能十分强大,它提供了非常简洁的路径选择表达式,另外还提供了超过100个内置函数,用于字符串,数值,时间的匹配以及节点和序列的处理 XPath 于1999年11月16日成为W3C标准 被设计为供XSLT.XPointer.以及其它XML解析软件使用 1 <<< 2 常用规则 3 4 表达式 描述 5 6 node

python3网络爬虫学习——基本库的使用(1)

最近入手学习Python3的网络爬虫开发方向,入手的教材是崔庆才的<python3网络爬虫开发实战>,作为温故所学的内容同时也是分享自己操作时的一些经验与困惑,所以开了这个日记,也算是监督自己去学习.在这一系列的日记中我也会随时加上一些书中没有的内容作为对所学知识的一个补充. (1)使用urllib库 在python3中,把python2的urllib和urllib2两个库合并了,同时作为了其内置的HTTP请求库,不需要额外安装,这个库包括四个模块 request:最基本的HTTP请求模块,可

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

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

Python3网络爬虫(八):爱奇艺等主流视频网站的VIP视频破解(在线观看+视频下载)

转载请注明作者和出处:http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3 一.前言 没有会员,想在线观看或下载爱奇艺.PPTV.优酷.网易公开课.腾讯视频.搜狐视频.乐视.土豆.A站.B站等主流视频网站的VIP视频?又不想充会员怎么办?博主本次写的VIP视频破解助手也许可以帮你解决烦恼. 二.软件使用说明 1.软件下载 软件运行平台:Windows 注意:该软件已经打包成exe可