关于爬虫的话,《 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 ![]() 有的用 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 ![]() 你提的这些问题属于编程基础中的基础,建议你找个 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 ![]() 假设 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 ![]() 确定不使用 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 ![]() 能不能先把 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 U7Q5tLAex2FI0o0g 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 ![]() 这些博客有些过时了, Python 3 的爬虫几乎都是用 requests 了, 语法简单很多, 偶尔需要 urlparse 等函数的时候才用 urllib. 现在直接上手 requests 的官方(中文 /英文)文档就好了 |
![]() | 19 datou 2019-05-24 10:31:48 +08:00 ![]() |
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 先别写了,先从头开始学 |