溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python制作網絡爬蟲

發布時間:2021-09-07 14:23:08 來源:億速云 閱讀:209 作者:chen 欄目:編程語言

本篇內容主要講解“如何使用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制作網絡爬蟲”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女