摘要:注意一點,到屏幕上時,需要將中文字符解碼為才能打印,寫入文件是不需要的。
目標是收集國內銀行的域名列表,于是在人行的網站上找到了匯總信息,網址是http://www.cbrc.gov.cn/chinese/jrjg/index.html
截圖是
查看一下他的html源碼,需要抓取部分的是:
提煉一下,我們需要提取的是Url和銀行的名稱,那么可以先把源碼中的t刪除,然后用正則表達式匹配
(.*)
分析完畢,下面是代碼實現了,第一個版本如下:
#!/usr/bin/env python # -*- encoding: utf-8 -*- import os,re import mechanize browser = mechanize.Browser() browser.addheaders = [("User-agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1")] res = browser.open("http://www.cbrc.gov.cn/chinese/jrjg/index.html") data = res.read() data = data.replace(" ","") regx = " (.*) " domainlist = re.findall(regx,data) print len(domainlist) for domain in domainlist: print domain[1].decode("utf-8"), domain[0] with open(u"金融.txt","wb") as fp: str1 = "" for domain in domainlist: str1 += domain[1]+ "----" + domain[0] + "----"+ " " fp.write(str1)
首先聲明一個瀏覽器對象,并修改了其http頭的user-agent信息;然后打開Url,獲取Html源碼,并將"t"刪除;之后利用Python的正則匹配,將Url和銀行名稱提煉出來;最后將這些信息寫入到文件中。
注意一點,print到屏幕上時,需要將中文字符解碼為utf-8才能打印,寫入文件是不需要的。
那么升級一下,我需要的不是url,而是銀行對應的域名,可以用tld模塊來提取
import部分添加
from tld import get_tld
在使用tld模塊從url提取域名的過程中,會發現莫名其妙的問題,不知道是提取正則提取Url時,url不規范導致的還是其他原因,總有一些Url沒法提取域名,于是會發生報錯信息,我這邊從新寫了一下,增加容錯性
def my_get_tld(url): try: str = get_tld(url = url,fail_silently=True) if str == None: return "" else: return str.encode("utf8") except: return ""
于是寫入文本的代碼修改成
with open(u"金融.txt","wb") as fp: str1 = "" for domain in domainlist: str1 += domain[1]+ "----" + domain[0] + "----" + my_get_tld(url = domain[0]) + " " fp.write(str1)
OK,運行之后就可以得到需要的內容了
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38015.html
摘要:下面跟大家詳細分享一下寫爬蟲抓取靜態網站的全過程。而我們上面說的元字符都代表一定的規則和占據一定的字符。 遇到的需求 前段時間需要快速做個靜態展示頁面,要求是響應式和較美觀。由于時間較短,自己動手寫的話也有點麻煩,所以就打算上網找現成的。 中途找到了幾個頁面發現不錯,然后就開始思考怎么把頁面給下載下來。 由于之前還沒有了解過爬蟲,自然也就沒有想到可以用爬蟲來抓取網頁內容。所以我采取的辦...
摘要:小白看過來讓爬蟲成為你的好幫手隨著信息化社會的到來,人們對網絡爬蟲這個詞已經不再陌生。互動活動關于華為云微認證的任何問題,均可在下方評論區留言。華為云微認證每期將送出個免費機會,獎項公布時間月日。 小白看過來 讓Python爬蟲成為你的好幫手 隨著信息化社會的到來,人們對網絡爬蟲這個詞已經不再陌生。但什么是爬蟲,如何利用爬蟲為自己服務,這聽起來有些高大上。下面一文帶你走近爬蟲世界,讓即...
摘要:在這之前,還是有必要對一些概念超輕量級反爬蟲方案后端掘金前言爬蟲和反爬蟲日益成為每家公司的標配系統。 爬蟲修煉之道——從網頁中提取結構化數據并保存(以爬取糗百文本板塊所有糗事為例) - 后端 - 掘金歡迎大家關注我的專題:爬蟲修煉之道 上篇 爬蟲修煉之道——編寫一個爬取多頁面的網絡爬蟲主要講解了如何使用python編寫一個可以下載多頁面的爬蟲,如何將相對URL轉為絕對URL,如何限速,...
摘要:在前面我們講到了和的概念,我們向網站的服務器發送一個,返回的的便是網頁源代碼。渲染頁面有時候我們在用或抓取網頁時,得到的源代碼實際和瀏覽器中看到的是不一樣的。所以使用基本請求庫得到的結果源代碼可能跟瀏覽器中的頁面源代碼不太一樣。 上一篇文章:Python3網絡爬蟲實戰---16、Web網頁基礎下一篇文章:Python3網絡爬蟲實戰---18、Session和Cookies 爬蟲,即網...
摘要:,源代碼爬取京東商品列表,以手機商品列表為例示例網址版本京東手機列表源代碼下載位置請看文章末尾的源。,抓取結果運行上面的代碼,就會爬取京東手機品類頁面的所有手機型號價格等信息,并保存到本地文件京東手機列表中。 showImg(https://segmentfault.com/img/bVxXHW); 1,引言 在上一篇《python爬蟲實戰:爬取Drupal論壇帖子列表》,爬取了一個用...
閱讀 3454·2021-11-22 12:00
閱讀 671·2019-08-29 13:24
閱讀 2905·2019-08-29 11:31
閱讀 2587·2019-08-26 14:00
閱讀 3185·2019-08-26 11:42
閱讀 2476·2019-08-23 18:31
閱讀 798·2019-08-23 18:27
閱讀 2844·2019-08-23 16:58