python網絡爬蟲(一) 2018-02-10 javascript
python版本:python 3.7.0b1html
IDE:PyCharm 2016.3.2java
涉及模塊:requests & builtwith & whoispython
模塊安裝方法:Win+R 進入cmd, 進入文件夾Scriptsnginx
命令:pip install requests / pip install requests / pip install whois(如不能正確安裝,請留言或自行百度解決)web
如要在PyCharm中使用庫,先添加一下(添加方法)。服務器
話很少說,先上代碼:網絡
1 #coding : utf-8 2 import requests 3 import builtwith #引入所需python庫 4 print("開始爬取") 5 url = "https://www.wenjiwu.com/doc/uqzlni.html" #爬取對象網址 6 r = requests.get(url) #requests模塊get方法 7 print (r.status_code) #xxx.status_code方法,返回值若爲200,則爬取成功 8 print (r.text) #xxx.text方法,獲得URL對應HTML源碼 9 print (builtwith.parse(url)) #builtwith模塊將URL做爲參數,返回該網站使用的技術
(url網址隨意,baidu, imooc...均可以)框架
腳本運行結果:函數
能夠看到,程序正常運行,返回值200,爬取成功,builtwith模塊獲得了示例網站 web-servers: Nginx(服務器類型,詳細瞭解),
使用了jQuery的javascript框架。可是礙於篇幅,其中HTML源碼內容運行時註釋掉了,不要驚訝!!!
r.text 結果(部分):
(內容無心中傷 Single Dog, Me too #_# )
補充:寫成函數形式
1 #coding : utf-8 2 import requests 3 import whois 4 import builtwith 5 6 def download(url, x): 7 print ("downloading...") 8 ans = requests.get(url) 9 islink = ans.status_code # '''通行碼''' 10 user = whois.whois(url) #'''網站全部者''' 11 pattern = builtwith.parse(url) #'''網站類型''' 12 result = ans.text #'''網站內容HTML''' 13 if islink == 200: 14 print ("successfully link!") 15 else: 16 print ("Sorry, it is no found!") 17 if x == 'y': 18 print ('owner: ', user) 19 print ('pattern: ', pattern) 20 print ('text: ', result) 21 return result 22 else: 23 return 000 24 url = "https://www.baidu.com" 25 download(url, 'y')
補充:把爬取的內容寫入txt文件
1 # 寫入*.txt文件 2 f = open("D:\python3.7\\testf.txt", mode='a', errors='ignore') 3 for x in ans.text: 4 f.write(x) 5 f.close()
文件地址隨意,errors=‘ignore’是爲了防止諸如 ...'\xe7'..., illegal multibyte sequence轉碼問題的出現。
轉載請註明出處,歡迎留言討論。