python抓取網頁
python 使用requests第三方庫抓取網頁HTML程式碼,並使用正則進行匹配檢索程式碼
以簡書首頁為例
如果未檢索成功 請copy載入的HTML程式碼,然後檢驗正則匹配的是否正確,網頁標籤元素可能改變,導致正則匹配不正確
#!/usr/bin/python
# coding: utf-8
import os, sys
import requests
import re
# page = 1
# url = 'http://www.qiushibaike.com/hot/page/' + str(page)
# user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
# headers = { 'User-Agent' : user_agent }
# 嗅事百科
def getHTMLHeader(urlString,headers):
try:
r = requests.get(urlString,headers = headers)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except r.URLError, e:
if hasattr(e,"code"):
print e.code
if hasattr(e,"reason"):
print e.reason
def getHTML(urlString):
try:
r = requests.get(urlString)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except r.URLError, e:
if hasattr(e, "code"):
print e.code
if hasattr(e, "reason"):
print e.reason
#正則提取資料 爬取簡書首頁 文章標題,連結,閱讀量,評論量為例
def regJianshuHtml(url):
if url.strip() == '':
html = getHTML("http://www.jianshu.com")
else:
html = getHTML(url)
reg = r'<a class="title" target="_blank" href="(.*?)">(.*?)</a>'
hotre = re.compile(reg)
artlist = re.findall(hotre,html)
for article in artlist:
for com in article:
if com.startswith("/p/"):
print "http://www.jianshu.com" + com
else:
print com
if __name__ == '__main__':
# url = 'https://www.pmcaff.com/'
# print(getHtmlText(url))
# html = getHTMLHeader(url,headers)
# print html
regJianshuHtml("")
結果
http://www.jianshu.com/p/2622723e95b2
薛之謙高磊鑫:一別兩寬,各生歡喜,你好,再見。
http://www.jianshu.com/p/1a5d3310b672
古巴女人迷死多少男人女人和我.....古巴裸遊記2
http://www.jianshu.com/p/3298cc246015
中英雙語:女性和公司(1)前言
http://www.jianshu.com/p/59a0e9694498
你只是表面上很努力,所以依然過得很煎熬
http://www.jianshu.com/p/bc2282da3b33
【原創育兒故事大賽】小恐龍給姥爺泡的茶
http://www.jianshu.com/p/72d8ce040ca7
不是你幸福少,而是你喪失了獲得幸福的能力
http://www.jianshu.com/p/967cfeab62de
你為什麼開始談戀愛?
http://www.jianshu.com/p/cbc0566766d1
別再對我好了,我會當真的
http://www.jianshu.com/p/3d27a8603948
那些年我們追過的夢,還在嗎?
http://www.jianshu.com/p/f15e454ac4c5
寫在大三末尾:10條不怎麼重要的大學建議
http://www.jianshu.com/p/86b10f6ea7d9
《簡書·大學生活專題5月刊》|我超級自律,就是為了和別人不一樣
http://www.jianshu.com/p/91347494f045
當寫作無法跟上野心時,大學老師讓我靜下心努力
http://www.jianshu.com/p/d8e696fef7d9
如何打造自己的核心競爭力
http://www.jianshu.com/p/0858c9d5ad10
99%有錢人不願告訴您的賺錢祕訣
http://www.jianshu.com/p/5e0905397803
看懂可口可樂,就能學會“定位”
http://www.jianshu.com/p/12b01f16e929
自律不一定會帶來自由,但會帶來一個更好的自己
http://www.jianshu.com/p/9c70cad93f1b
高考以後,你的人生才剛剛開始
http://www.jianshu.com/p/4688ba26e22a
情景劇|失戀女的膠原蛋白補充之旅
http://www.jianshu.com/p/7f4427d0ebdd
職場新人:有哪些靠譜的工作基本功
http://www.jianshu.com/p/d01ce7c931e5
夜深了,我來哄你的孩子睡覺
總結:
對HTML網頁結構要清晰。
- 正規表示式要熟悉,是提取資料的關鍵。
- 使用BeautifulSoup會簡單很多,裡面也會用到正則。
相關文章
- 使用 Beautiful Soup 在 Python 中抓取網頁Python網頁
- Python爬蟲使用代理proxy抓取網頁Python爬蟲網頁
- Python網頁抓取工具Beautiful Soup面面觀!Python網頁
- 如何抓取網頁資訊?網頁
- Perl 6 網頁抓取網頁
- 如何用Python爬資料?(一)網頁抓取Python網頁
- python3抓取網頁解碼問題!Python網頁
- wget 網頁爬蟲,網頁抓取工具wget網頁爬蟲
- python抓取網頁中圖片並儲存到本地Python網頁
- 騰牛網抓取(單頁)
- 爬取網頁後的抓取資料_3種抓取網頁資料方法網頁
- 網頁資料抓取之噹噹網網頁
- 批量抓取網頁pdf檔案網頁
- 使用代理抓取網頁的原因網頁
- 抓取網頁中的原始碼.網頁原始碼
- 從網頁上抓取資料網頁
- 用scrapy進行網頁抓取網頁
- 使用chromedriver抓取網頁截圖Chrome網頁
- Python多執行緒抓取Google搜尋連結網頁Python執行緒Go網頁
- Python中使用mechanize庫抓取網頁上的表格資料Python網頁
- 【Python】Python抓取分享頁面的原始碼示例Python原始碼
- Java抓取網頁資料(原網頁+Javascript返回資料)網頁JavaScript
- 爬蟲抓取網頁資料原理爬蟲網頁
- scrapy抓取ajax請求的網頁網頁
- C#抓取網頁HTML內容C#網頁HTML
- java抓取網頁的郵件地址Java網頁
- Python併發程式設計:提高網頁抓取效率實踐指南Python程式設計網頁
- python3使用requests包抓取並儲存網頁原始碼Python網頁原始碼
- Python爬蟲: 抓取One網頁上的每日一話和圖Python爬蟲網頁
- 爬網入門:JAVA抓取網站網頁內容Java網站網頁
- python怎樣抓取js生成的頁面PythonJS
- python爬蟲-抓取騰訊招聘資訊頁面Python爬蟲
- NodeJS使用PhantomJs抓取網頁NodeJS網頁
- IP地址在網頁抓取中有何作用網頁
- IP地址在網頁抓取中的作用網頁
- 網頁抓取的重要性介紹網頁
- 網頁抓取如何幫助資料分析?網頁
- 爬蟲抓取網頁的詳細流程爬蟲網頁