本篇内容主要讲解“如何使用Python制作网络爬虫”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Python制作网络爬虫”吧!
简单的制作爬虫的方法:获取“website_links”列表中网站的 html 代码,并通过搜索第一个 <h2> 标签来获取其标题。这样我们就得到了一个网站的主要文章的标题(标题)。
网络爬虫是一种史诗般的小型软件,您可以在短时间内构建。采用以上方法实时检测互联网上的突发新闻就非常简单。下面是代码示例。
import requests
from bs4 import BeautifulSoup
website_links = ["https://www.aljazeera.com/",
"https://www.thehindu.com/", "https://www.ndtv.com/"]
consolidatedTitleString = ""
for i, website in enumerate(website_links):
page = requests.get(website)
soup = BeautifulSoup(page.text, 'html.parser')
#to get the headings and display
title = soup.find('h2').get_text()
consolidatedTitleString += "\n\n" + str(i) + ") "+
title.strip("\n")
通过这种方法就可以获取到网站的标题,这里使用 5 个主要的 Python 包:scrapy、BeautifulSoup、requests、urllib 和 re。最后一个是 're' 或正则表达式库非常有用。在 html 代码中,我们有以下用处
<h2 class="top-sec-title">Indonesia quake, tsunami toll tops 800</h2>
为了使任何有用的东西,我们需要删除 html 标签并只获取文本,这通常在使用汤库时使用“.get_text()”函数完成。但是,了解如何使用正则表达式执行此操作很有用。
下面的代码有助于从推文中提取链接列表,而不是上面给出的新闻报纸网站链接。我们利用模式“htttps”来检测使用 re 库的链接。
for i,status in
enumerate(tweepy.Cursor(api.home_timeline).items(7)):
try:
listOfLinks.append(re.search("(?P<url>https?://[^\s]+)",
status.text).group("url"))
except AttributeError:
print("A link does not exist")
还可以制作一个“ImageCrawler”来下载网页上的所有图像。
r = requests.get("http://pythonforengineers.com/pythonforengineersbook/")
data = r.text
soup = BeautifulSoup(data, "lxml")
for link in soup.find_all('img'):
image = link.get("src")
image = "http:" + image
question_mark = image.find("?")
image = image[:question_mark]
image_name = os.path.split(image)[1]
print(image_name)
r2 = requests.get(image)
with open(image_name, "wb") as f:
f.write(r2.content)
到此,相信大家对“如何使用Python制作网络爬虫”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.py.cn/jishu/spider/32343.html