国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

python網絡爬蟲步驟是什么

極客小將2021-03-12-
簡介python網絡爬蟲步驟:首先準備所需庫,編寫爬蟲調度程序;然后編寫url管理器,并編寫網頁下載器;接著編寫網頁解析器;最后編寫網頁輸出器即可。本教程操作環境:windows7系統、python3.9版,DELLG3電腦。python網絡爬蟲步驟(1)準備所需庫我們需要準備一款名為Beautiful

python網絡爬蟲步驟:首先準備所需庫,編寫爬蟲調度程序;然后編寫url管理器,并編寫網頁下載器;接著編寫網頁解析器;**后編寫網頁輸出器即可。KeK少兒編程網-https://www.pxcodes.com

KeK少兒編程網-https://www.pxcodes.com

本教程操作環境:windows7系統、python3.9版,DELL G3電腦。KeK少兒編程網-https://www.pxcodes.com

python網絡爬蟲步驟KeK少兒編程網-https://www.pxcodes.com

(1)準備所需庫KeK少兒編程網-https://www.pxcodes.com

我們需要準備一款名為BeautifulSoup(網頁解析)的開源庫,用于對下載的網頁進行解析,我們是用的是PyCharm編譯環境所以可以直接下載該開源庫。KeK少兒編程網-https://www.pxcodes.com

步驟如下:KeK少兒編程網-https://www.pxcodes.com

選擇File->SettingsKeK少兒編程網-https://www.pxcodes.com

KeK少兒編程網-https://www.pxcodes.com

打開Project:PythonProject下的Project interpreterKeK少兒編程網-https://www.pxcodes.com

KeK少兒編程網-https://www.pxcodes.com

點擊加號添加新的庫KeK少兒編程網-https://www.pxcodes.com

KeK少兒編程網-https://www.pxcodes.com

輸入bs4選擇bs4點擊Install Packge進行下載KeK少兒編程網-https://www.pxcodes.com

KeK少兒編程網-https://www.pxcodes.com

(2)編寫爬蟲調度程序KeK少兒編程網-https://www.pxcodes.com

這里的bike_spider是項目名稱引入的四個類分別對應下面的四段代碼url管理器,url下載器,url解析器,url輸出器。KeK少兒編程網-https://www.pxcodes.com

# 爬蟲調度程序 from bike_spider import url_manager, html_downloader, html_parser, html_outputer # 爬蟲初始化 class SpiderMain(object): def __init__(self): self.urls = url_manager.UrlManager() self.downloader = html_downloader.HtmlDownloader() self.parser = html_parser.HtmlParser() self.outputer = html_outputer.HtmlOutputer() def craw(self, my_root_url): count = 1 self.urls.add_new_url(my_root_url) while self.urls.has_new_url(): try: new_url = self.urls.get_new_url() print("craw %d : %s" % (count, new_url)) # 下載網頁 html_cont = self.downloader.download(new_url) # 解析網頁 new_urls, new_data = self.parser.parse(new_url, html_cont) self.urls.add_new_urls(new_urls) # 網頁輸出器收集數據 self.outputer.collect_data(new_data) if count == 10: break count += 1 except: print("craw failed") self.outputer.output_html() if __name__ == "__main__": root_url = "http://baike.baidu.com/item/Python/407313" obj_spider = SpiderMain() obj_spider.craw(root_url)

(3)編寫url管理器KeK少兒編程網-https://www.pxcodes.com

我們把已經爬取過的url和未爬取的url分開存放以便我們不會重復爬取某些已經爬取過的網頁。KeK少兒編程網-https://www.pxcodes.com

# url管理器 class UrlManager(object): def __init__(self): self.new_urls = set() self.old_urls = set() def add_new_url(self, url): if url is None: return if url not in self.new_urls and url not in self.old_urls: self.new_urls.add(url) def add_new_urls(self, urls): if urls is None or len(urls) == 0: return for url in urls: self.new_urls.add(url) def get_new_url(self): # pop方法會幫我們獲取一個url并且移除它 new_url = self.new_urls.pop() self.old_urls.add(new_url) return new_url def has_new_url(self): return len(self.new_urls) != 0

(4)編寫網頁下載器KeK少兒編程網-https://www.pxcodes.com

通過網絡請求來下載頁面KeK少兒編程網-https://www.pxcodes.com

# 網頁下載器 import urllib.request class HtmlDownloader(object): def download(self, url): if url is None: return None response = urllib.request.urlopen(url) # code不為200則請求失敗 if response.getcode() != 200: return None return response.read()

(5)編寫網頁解析器KeK少兒編程網-https://www.pxcodes.com

對網頁進行解析時我們需要知道我們要查詢的內容都有哪些特征,我們可以打開一個網頁點擊右鍵審查元素來了解我們所查內容的共同之處。KeK少兒編程網-https://www.pxcodes.com

# 網頁解析器 import re from bs4 import BeautifulSoup from urllib.parse import urljoin class HtmlParser(object): def parse(self, page_url, html_cont): if page_url is None or html_cont is None: return soup = BeautifulSoup(html_cont, "html.parser", from_encoding="utf-8") new_urls = self._get_new_urls(page_url, soup) new_data = self._get_new_data(page_url, soup) return new_urls, new_data def _get_new_data(self, page_url, soup): res_data = {"url": page_url} # 獲取標題 title_node = soup.find("dd", class_="lemmaWgt-lemmaTitle-title").find("h1") res_data["title"] = title_node.get_text() summary_node = soup.find("p", class_="lemma-summary") res_data["summary"] = summary_node.get_text() return res_data def _get_new_urls(self, page_url, soup): new_urls = set() # 查找出所有符合下列條件的url links = soup.find_all("a", href=re.compile(r"/item/")) for link in links: new_url = link['href'] # 獲取到的url不完整,學要拼接 new_full_url = urljoin(page_url, new_url) new_urls.add(new_full_url) return new_urls

(6)編寫網頁輸出器KeK少兒編程網-https://www.pxcodes.com

輸出的格式有很多種,我們選擇以html的形式輸出,這樣我們可以的到一個html頁面。KeK少兒編程網-https://www.pxcodes.com

# 網頁輸出器 class HtmlOutputer(object): def __init__(self): self.datas = [] def collect_data(self, data): if data is None: return self.datas.append(data) # 我們以html表格形式進行輸出 def output_html(self): fout = open("output.html", "w", encoding='utf-8') fout.write("<html>") fout.write("<meta charset='utf-8'>") fout.write("<body>") # 以表格輸出 fout.write("<table>") for data in self.datas: # 一行 fout.write("<tr>") # 每個單元行的內容 fout.write("<td>%s</td>" % data["url"]) fout.write("<td>%s</td>" % data["title"]) fout.write("<td>%s</td>" % data["summary"]) fout.write("</tr>") fout.write("</table>") fout.write("</body>") fout.write("</html>") # 輸出完畢后一定要關閉輸出器 fout.close()

相關免費學習推薦:python視頻教程KeK少兒編程網-https://www.pxcodes.com

以上就是python網絡爬蟲步驟是什么的詳細內容,更多請關注少兒編程網其它相關文章!KeK少兒編程網-https://www.pxcodes.com

預約試聽課

已有385人預約都是免費的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        免费高清一区二区三区| 91蝌蚪视频在线观看| 自拍一级黄色片| 91蝌蚪视频在线| 精品人妻大屁股白浆无码| 免费看欧美黑人毛片| 丰满爆乳一区二区三区| 黄色在线视频网| 国产又粗又爽又黄的视频| www.av毛片| 日本xxxx黄色| 农民人伦一区二区三区| 黄色免费网址大全| 四虎精品欧美一区二区免费| 波多野结衣乳巨码无在线| 欧美午夜性生活| 国产日韩视频在线播放| 久草资源站在线观看| 国产精品中文久久久久久| 日韩精品一区二区免费| 国产精品区在线| 精品人妻少妇一区二区| gogogo高清免费观看在线视频| 人妻激情另类乱人伦人妻| 91av在线免费播放| 老司机午夜网站| 国产喷水theporn| 国产精品www在线观看| 欧美成人手机在线视频| 男女av免费观看| 日韩一级性生活片| 99视频在线观看视频| 北条麻妃在线一区| 人妻夜夜添夜夜无码av | 九九九九九伊人| 久久久久久久9| 香蕉精品视频在线| 色噜噜狠狠一区二区| 日韩在线一级片| 成人国产一区二区三区| 伊人五月天婷婷| 国产精品自拍视频在线| 免费男同深夜夜行网站| 日韩国产一级片| 日韩在线视频在线| 天天综合五月天| 国产又粗又猛大又黄又爽| 国产色视频在线播放| 欧美一级特黄a| 草草草在线视频| www.四虎成人| 毛葺葺老太做受视频| 欧美牲交a欧美牲交aⅴ免费真 | 成年人在线观看视频免费| 大胆欧美熟妇xx| 欧美做受777cos| 污污污污污污www网站免费| 经典三级在线视频| 国产高清免费在线| 男女激烈动态图| 99久久99久久精品| 2022中文字幕| 日本在线xxx| 久草资源站在线观看| 欧美视频免费播放| 久久久久久久片| 午夜国产一区二区三区| 福利视频999| 香蕉视频免费版| 妞干网在线视频观看| 国产中文字幕在线免费观看| 精品久久久久久久久久中文字幕| 国产精品裸体瑜伽视频| 无码aⅴ精品一区二区三区浪潮| 北条麻妃在线观看| 日韩欧美国产片| 黄网站色视频免费观看| 国产免费观看高清视频| 成年人在线观看视频免费| 91视频这里只有精品| 欧美少妇一区二区三区| 欧美日韩在线一| 亚洲国产午夜精品| 真人抽搐一进一出视频| 激情婷婷综合网| 国产对白在线播放| 男人添女人下面高潮视频| 天天视频天天爽| 中文字幕国产高清| 鲁一鲁一鲁一鲁一色| 黄色在线视频网| 激情六月天婷婷| 九九九在线观看视频| 手机在线视频你懂的| 成年人免费在线播放| 五月天婷婷影视| 国产精品成人久久电影| 亚洲精品综合在线观看| 欧美精品自拍视频| 91性高潮久久久久久久| 欧美变态另类刺激| 99亚洲精品视频| 最新中文字幕免费视频| 日韩欧美不卡在线| 青青草原国产免费| 色婷婷综合久久久久中文字幕| 三级在线免费观看| 波多野结衣天堂| 9久久9毛片又大又硬又粗| 韩国一区二区在线播放| 可以免费观看av毛片| 岛国大片在线播放| 一级做a爱视频| 一区二区在线免费看| av天堂永久资源网| 可以看毛片的网址| 天堂а√在线中文在线| 99久久99精品| 亚洲视频第二页| 三级视频中文字幕| 无码人妻h动漫| 欧美精品99久久| 久久综合九色综合88i| 精品人妻人人做人人爽| 99热一区二区三区| 三日本三级少妇三级99| 国产精品自拍视频在线| 国产精品69页| 免费大片在线观看| 日韩视频第二页| 玩弄japan白嫩少妇hd| av网站在线观看不卡| 国产最新免费视频| 国产一级爱c视频| 国产白丝袜美女久久久久| 日韩a级在线观看| 人妻熟妇乱又伦精品视频| 欧美成人高潮一二区在线看| 国产原创中文在线观看 | 男女视频在线观看网站| 波多野结衣网页| 91免费视频黄| 久久久久久久香蕉| www.亚洲视频.com| 亚洲国产精品久久久久爰色欲| 欧美 国产 小说 另类| 成人免费毛片播放| 在线看的黄色网址| 国产精品亚洲天堂| 欧美国产视频一区| 国产精品后入内射日本在线观看| 无码无遮挡又大又爽又黄的视频| 国产激情在线观看视频| 亚洲综合婷婷久久| 国产成人亚洲综合无码| 日韩免费视频播放| www.日本一区| 自拍一级黄色片| 3d动漫一区二区三区| 天堂av在线网站| 国产日韩欧美大片| 国产在线青青草| 91视频福利网| 免费毛片小视频| 天堂av手机在线| 老司机激情视频| 日本www.色| 欧美视频在线第一页| 久久精品午夜福利| 91日韩精品视频| 国产欧美在线一区| 视频一区二区视频| aaa毛片在线观看| 欧美 日韩 国产精品| 男人舔女人下面高潮视频| 日韩精品一区二区三区电影| 可以免费在线看黄的网站| 日本网站在线看| 欧美日韩大尺度| 国产毛片视频网站| 天堂在线一区二区三区| 国产精品无码av在线播放| 国产精品h视频| 浓精h攵女乱爱av| 亚洲 高清 成人 动漫| 91嫩草国产丨精品入口麻豆| 日本久久精品一区二区| 国产真实老熟女无套内射| 午夜国产福利在线观看| 欧美 日韩 国产一区| 99热这里只有精品免费| 中国黄色片一级| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 久久久久福利视频| 一道本在线免费视频| 粗暴91大变态调教| 欧美精品99久久| 欧美 日本 亚洲| 成人免费视频91| 国产乱淫av片杨贵妃|