关于爬虫的话,《 Python 网络采集》一书在介绍 BbeautifulSoup 时写
from urllib.request import urlopen
同样这本书,随后
from bs4 import BeautifulSoup
html = urlopen("http://www......")
bsObj = BeautifulSoup(html.read())
print(bsObj.h1)
《用 Python 写网络爬虫》写
import urllib.request
还是这本书:
def download(url):
return urllib.request.urlopen(url).read()
#感觉是之前代码( html = )的简写?此处也没有定义 url,可能 urlopen 可以直接定义
之前崔大的 Python 2.7 的文章:
import urllib2
response = urllib2.urlopen(url) #此处突然出现 response 等内容,第一个书里的代码直接就有 read 了
print response.read()
感觉 Python 写法多种多样,自己的博客Python 爬虫初见里也总结了一下from … import …与 import 的区别,以及得出
urllib 通用库>urllib.quest>urlopen 函数
但是 import 在没有 from 的情况下也可以直接导入一个 urllib.quest 等,就很奇特?
这个是和其他语言一样,每个人的写法不一样,根据自己的风格来还是?
这是目前单看爬虫书籍学习的疑惑,求指点以及避坑~
1
wenbinwu 2019-05-24 03:51:16 +08:00 1
有的用 urllib,有的用 urllib2,看一下文档
https://docs.python.org/2/library/urllib.html https://docs.python.org/2/library/urllib2.html 如何 import,看需要吧,几种方法都是一样的结果 response 出现不出现,也是看需要 比如你要去除一个字符串里的 abcd 四个字母 你可以写'v2exabc'.replace('a','').replace('b','').replace('c','').replace('d','') 或者 remove_a = 'v2exabc'.replace('a','') remove_a_b = remove_a.replace('b','') remove_a_b_c = remove_a_b.replace('c','') remove_a_b_c_d = remove_a_b_c.replace('d','') |
2
Sylv 2019-05-24 04:55:01 +08:00 via iPhone 2
你提的这些问题属于编程基础中的基础,建议你找个 Python 基础教程重新学习一遍你就懂了,这些写法都是等价的,只是风格区别,你现在有点像还没学会走就想跑。
|
3
Trim21 2019-05-24 05:05:23 +08:00 via iPhone
我还以为你在纠结怎么爬,原来是纠结怎么 import …
这没啥奇特的,就是 python 同时支持两种写法。 |
4
RHxW 2019-05-24 08:11:51 +08:00 3
假设 B 和 C 都是 A 包里的
1.from A import B ->B() #OK! ->C() #ERROR! 2.import A ->A.B() #OK! ->A.C() #OK! 3.from A import * ->B() #OK! ->C() #OK! |
5
zw1027 2019-05-24 08:29:15 +08:00
越长的调用就越啰嗦,我一般直接 import 到最常调用的那一层,不是一昧的 import 最顶层或最底层
|
6
oblivious 2019-05-24 08:36:47 +08:00 via iPhone 3
确定不使用 requests 模块?
用 requests 一时爽,一直用一直爽。 |
7
gimp 2019-05-24 08:41:15 +08:00
直接用 requests 多好
简介: Requests: HTTP for Humans |
8
tony9413 2019-05-24 08:49:36 +08:00
这些博客都过时了,python2 的语法,刚学的话,还是建议用 3,比较 2 眼看就不维护了。
|
9
GeruzoniAnsasu 2019-05-24 08:51:32 +08:00 via Android 1
能不能先把 python 语法入门看一遍求你了
|
10
jingyulong 2019-05-24 08:53:55 +08:00
建议把基础的书籍摆在首位,虽然应用类的书籍能够引起你的兴趣,但是把基础弄扎实了能节省很多时间。
|
11
ctro15547 2019-05-24 09:04:24 +08:00
感觉刚开始学 可以一步一步慢慢来 ,先看看语法,刚开始可以分步走,先 import urllib2,然后再 response = urllib2.urlopen(url),后面了解了就随便怎么拼了
|
12
littleylv 2019-05-24 09:10:04 +08:00
建议你“ Python 爬虫入门”之前先“ Python 入门”
|
13
yth492300648 2019-05-24 09:11:50 +08:00
9012 年了 还用 urllib 纯粹浪费时间
|
14
ddzzhen 2019-05-24 09:12:51 +08:00 via Android
看 google 出来之后第一页的博客足以
|
15
qcts33 2019-05-24 09:35:08 +08:00
|
16
tikazyq 2019-05-24 09:36:28 +08:00 via iPhone
urllib 是非常基础的库,了解一下就可以了,现在都不用这个库来做爬虫了。要进阶的话,了解一下多线程、多进程、scrapy、pyspider、gerapy、crawlab。
顺便安利一下来源爬虫平台 crawlab,方便管理开发你的爬虫,https://github.com/tikazyq/crawlab |
17
houzhimeng 2019-05-24 10:10:40 +08:00
统统 requests
|
18
inhzus 2019-05-24 10:29:34 +08:00 1
这些博客有些过时了, Python 3 的爬虫几乎都是用 requests 了, 语法简单很多, 偶尔需要 urlparse 等函数的时候才用 urllib.
现在直接上手 requests 的官方(中文 /英文)文档就好了 |
19
datou 2019-05-24 10:31:48 +08:00 1
|
20
boluo 2019-05-24 10:45:25 +08:00
我也在买点入门的纸质书学习,求推荐
|
21
testeststs 2019-05-24 10:53:32 +08:00
这些写法没区别吧,先学点 python 基础的,自然就懂了。
要是不想学,只想完成项目,那就抄。 |
22
Root1997 2019-05-24 11:00:59 +08:00
requests 是真的爽。
|
23
JimmyTinsley 2019-05-24 11:20:38 +08:00
用 requests 啊
|
24
LIBQ 2019-05-24 11:28:43 +08:00
说到底 他们都是一样的 条条大路通罗马 随便一种都可以
|
25
lonelygo 2019-05-24 11:59:41 +08:00
大家聚焦 import 的问题,楼主还无法想出来 requests 为啥是 humans http,一直用一直爽。
|
26
Qzier 2019-05-24 12:10:01 +08:00 via iPhone
先别写了,先从头开始学
|