如何使用Python写一个爬虫软件
来源:互联网 发布:尼康 调焦软件 d7100 编辑:程序博客网 时间:2024/04/27 16:55
如何写一个爬虫软件
一、了解一个网页的各个标签:这里写代码片通过了解各个网页的标签知道如何通过标签来过滤自己想要的的内容。
1. 图片标签:http://www.w3school.com.cn/tags/tag_img.asp
示例:
< img src="/i/eg_tulip.jpg" alt="上海鲜花港 - 郁金香>
图片标签必须有src和alt属性,src为图片的链接,alt为代替图片的文本
2. 超链接标签:http://www.w3school.com.cn/tags/tag_a.asp
示例:
< a href="http://www.w3school.com.cn">W3School</a>
html中的属性:
一般来说爬虫主要抓取的便是这两种标签,其他的以后补充,这里主要针对这两种标签写爬虫软件。
二、如何使用python过滤这两种标签
1. 学会使用python的urllib,urllib2库函数:
1.1 urllib库:英文文档:http://docspy3zh.readthedocs.io/en/latest/library/urllib.request.html,中文文档:http://python.usyiyi.cn/python_278/library/urllib.html
获取网页的内容
1.2 BeautifulSoup库:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
解析网页内容
三、使用python扒网页
1.使用python扒图片:
1.1 获取网页的内容:
#!/usr/bin/env python3# coding=utf-8import urllib.request as url#打开网页获得一个文件对象web_file = url.urlopen('http://www.baidu.com'); #依次读取文件中的一行for line in web_file: print(line)#输出文件对象,而不是文件的内容print(web_file)
1.2 使用正则表达式过滤图片url
import reimport urllib.request as urlcontext = url.openurl("http://www.baidu.com").read()imgs = re.findall("<img.*src=.*?>",context);for img in imgs: re.findall("src")
1.3 使用BeautifulSoup过滤图片标签
from bs4 import BeautifulSoupimport urllib.request as urlrqdef openurl_and_getsoup(url): web = urlrq.urlopen(url) return BeautifulSoup(str(web.read()),"lxml")url = "http://www.baidu.com"soup = openurl_and_getsoup(url)#获取所有的img标签及内容并存储在list中all_img = soup.find_all(['img'])#soup.img['src']#可以获取一个图片的urlprint(soup.img)print(all_img)
1.4 下载图片
0 0
- 如何使用Python写一个爬虫软件
- 使用Python写的一个爬虫【任务队列版本】
- iOS程序员如何使用python写网路爬虫
- iOS程序员如何使用Python写网路爬虫
- iOS程序员如何使用python写网路爬虫
- iOS程序员如何使用Python写网路爬虫
- 如何使用python写一个操作系统
- python写爬虫1-写一个简单爬虫
- Python写的一个爬虫程序
- python写一个爬虫(1)
- python写一个爬虫(2)
- python写一个爬虫(3)
- python写一个爬虫(4)改进
- 用python写一个美女图片爬虫
- 用python写一个爬虫程序
- 用Python写一个简单的爬虫
- 如何自己写一个网络爬虫
- 使用python写糗事百科的爬虫
- 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器
- 监督学习和无监督学习
- Javase常见面试题目的学习笔记、知识点整理(边学边补充)
- 剑指Offer:链表中环的入口节点
- 台式机win8.1下装ubuntu16.04双系统,并解决启动项Windows系统消失的问题。
- 如何使用Python写一个爬虫软件
- csu 1020 真三国无双
- jquary实现仿百度经验的图文帮助中心轮播
- cogs2060 除法表达式【解法二】
- ZZULIOJ 1921: B 【dp + 位运算】
- 关于我的CSDN
- easyui form表单提交问题
- CSS快速学习4:浮动和盒模型
- Android适配大全