美文网首页学习工具癖程序员
逐条解释一段爬虫代码

逐条解释一段爬虫代码

作者: 圣_狒司机 | 来源:发表于2017-06-27 15:42 被阅读111次

<pre><code>
import urllib.request
from bs4 import BeautifulSoup

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/5.0.4.3000 Chrome/47.0.2526.73 Safari/537.36'}
x = 0

def imgs(url):
request_page = urllib.request.Request(url,headers = headers)
page = urllib.request.urlopen(request_page)
html = page.read()
soup_page = BeautifulSoup(html,"html5lib")
imgs = soup_page.find_all('img')
imgstr = ''
f = open(r'C:\Users\Administrator\Desktop\img\imgs.txt',mode = 'w')
for img in imgs:
link = img.get('src')
if not(link[:5] == "http:"):
continue
print(link)
global x
urllib.request.urlretrieve(link,'img%s.jpg'%x)
x += 1
imgstr += link +'\n'
f.write(imgstr)
f.close()
return 0

try :
url = 'http://www.archcollege.com/'
imgs(url)
except TypeError:
pass
</code></pre>

1段:导入URL和BS4库;
2段:声明基本数据,headers是从浏览器中Agent字段中复制的;x是下载到本地后图片的文件名;
3段:构建一个单独网页图片下载函数;先实例化一个request对象,python3中 urlopen函数在urllib.request.下,是request对象的方法,urlopen函数返回一个response对象,response对象有read方法,read方法返回一个HTML的流,有可能是比特流也可能是str流。
有了这个流就可以创建BeautifulSoup对象。
使用BeautifulSoup对象的find_all方法,返回某个标签的列表,然后遍历这个列表。
可以将遍历内容写进一个文件里,也可以打印出来观看,只要是为了进一步分析需要的URL。
4段:执行这个函数,现在网站有很多反爬虫方法,为了简便,只捕捉一种TypeError异常。

相关文章

  • 逐条解释一段爬虫代码

    import urllib.requestfrom bs4 import BeautifulSoup header...

  • 编译和解释

    编译:将原代码一次性转换成目标代码的过程,执行编译过程的程序叫做编译器 解释:将原代码逐条转换成目标代码同时逐条运...

  • 程序设计和编程2

    编译和解释 编译,将源代码一次性转化成目标代码的过程 执行编译过程的程序叫编译器 解释,将源代码逐条转换成目标代...

  • 爬虫

    上网原理 1、爬虫概念 爬虫是什麽? 蜘蛛,蛆,代码中,就是写了一段代码,代码的功能从互联网中提取数据 互联网: ...

  • JVM学习笔记

    1 java编译 jvm翻译字节码分为逐条翻译的解释执行和对热点代码以方法为单位翻译的即时编译。即时编译可以运用方...

  • Python爬虫初学(二)—— 爬百度贴吧小说和图片

    昨天初步接触了爬虫,实现了爬取网络段子并逐条阅读等功能,详见Python爬虫初学(一)。 今天准备对百度贴吧下手了...

  • aot模式能脱离虚拟机吗?

    art中可以采用解释模式或者AOT机器码模式执行。解释模式,就是取出Dex Code,逐条解释执行就行了。如果方法...

  • 2020-01-07static

    一段代码解释一下 静态区

  • ChatGPT 有哪些神奇的使用方式?

    编码相关: 使用 ChatGPT 解释为什么一行代码不起作用 使用 ChatGPT 解释一段代码是什么意思 使用 ...

  • python爬取某站上海租房图片

    前言 对于一个net开发这爬虫真真的以前没有写过。这段时间开始学习python爬虫,今天周末无聊写了一段代码爬取上...

网友评论

    本文标题:逐条解释一段爬虫代码

    本文链接:https://www.haomeiwen.com/subject/umjecxtx.html