python 自動提交和抓取網(wǎng)頁
更新時間:2009年07月13日 00:36:49 作者:
最近在研究怎么樣做個自動發(fā)帖器,要完成這個工具難度蠻大的,驗證碼就是一個大問題(還沒有想到解決辦法哦,不管了),先要解決的是如何抓取,分析和提交頁面的問題。
下面是用python寫的,使用lxml來做html分析,從網(wǎng)上看到的,說是分析速度最快的哦,不過沒有驗證過。好了,上代碼。
import urllib
import urllib2
import urlparse
import lxml.html
def url_with_query(url, values):
parts = urlparse.urlparse(url)
rest, (query, frag) = parts[:-2], parts[-2:]
return urlparse.urlunparse(rest + (urllib.urlencode(values), None))
def make_open_http():
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
opener.addheaders = [] # pretend we're a human -- don't do this
def open_http(method, url, values={}):
if method == "POST":
return opener.open(url, urllib.urlencode(values))
else:
return opener.open(url_with_query(url, values))
return open_http
open_http = make_open_http()
tree = lxml.html.fromstring(open_http("GET", "http://www.dbjr.com.cn").read())
form = tree.forms[0]
form.fields["q"] = "eplussoft"
form.action="http://www.dbjr.com.cn/search"
response = lxml.html.submit_form(form,open_http=open_http)
html = response.read()
doc = lxml.html.fromstring(html)
lxml.html.open_in_browser(doc)
恩,驗證碼是個大問題。還有今天看了一些百度貼吧上的東西,更是壞了心情,它的驗證碼是用ajax取的圖片,這就更加麻煩了。不過好像現(xiàn)在大多數(shù)的論壇和博客的驗證碼都是這樣的了。這樣第一次抓取下來的頁面就不會包含有驗證碼圖片了,更不要說分析驗證碼圖片了。要解決的問題還是很多的。。。
復(fù)制代碼 代碼如下:
import urllib
import urllib2
import urlparse
import lxml.html
def url_with_query(url, values):
parts = urlparse.urlparse(url)
rest, (query, frag) = parts[:-2], parts[-2:]
return urlparse.urlunparse(rest + (urllib.urlencode(values), None))
def make_open_http():
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
opener.addheaders = [] # pretend we're a human -- don't do this
def open_http(method, url, values={}):
if method == "POST":
return opener.open(url, urllib.urlencode(values))
else:
return opener.open(url_with_query(url, values))
return open_http
open_http = make_open_http()
tree = lxml.html.fromstring(open_http("GET", "http://www.dbjr.com.cn").read())
form = tree.forms[0]
form.fields["q"] = "eplussoft"
form.action="http://www.dbjr.com.cn/search"
response = lxml.html.submit_form(form,open_http=open_http)
html = response.read()
doc = lxml.html.fromstring(html)
lxml.html.open_in_browser(doc)
恩,驗證碼是個大問題。還有今天看了一些百度貼吧上的東西,更是壞了心情,它的驗證碼是用ajax取的圖片,這就更加麻煩了。不過好像現(xiàn)在大多數(shù)的論壇和博客的驗證碼都是這樣的了。這樣第一次抓取下來的頁面就不會包含有驗證碼圖片了,更不要說分析驗證碼圖片了。要解決的問題還是很多的。。。
您可能感興趣的文章:
- Python爬蟲使用Selenium+PhantomJS抓取Ajax和動態(tài)HTML內(nèi)容
- Python抓取聚劃算商品分析頁面獲取商品信息并以XML格式保存到本地
- Python 抓取動態(tài)網(wǎng)頁內(nèi)容方案詳解
- 零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容
- 使用Python編寫簡單網(wǎng)絡(luò)爬蟲抓取視頻下載資源
- python采用requests庫模擬登錄和抓取數(shù)據(jù)的簡單示例
- python抓取網(wǎng)頁圖片示例(python爬蟲)
- Python實現(xiàn)抓取頁面上鏈接的簡單爬蟲分享
- 通過抓取淘寶評論為例講解Python爬取ajax動態(tài)生成的數(shù)據(jù)(經(jīng)典)
- Python如何抓取天貓商品詳細(xì)信息及交易記錄
相關(guān)文章
jupyter notebook讀取/導(dǎo)出文件/圖片實例
這篇文章主要介紹了jupyter notebook讀取/導(dǎo)出文件/圖片實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Pygame Surface創(chuàng)建圖像的實現(xiàn)
本文主要介紹了Pygame Surface創(chuàng)建圖像的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02Python復(fù)制Excel帶有條件格式的單元格sheet實現(xiàn)步驟
這篇文章主要為大家介紹了Python復(fù)制Excel帶有條件格式的單元格sheet實現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07關(guān)于tensorflow的幾種參數(shù)初始化方法小結(jié)
今天小編就為大家分享一篇關(guān)于tensorflow的幾種參數(shù)初始化方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python卷積神經(jīng)網(wǎng)絡(luò)圖片分類框架詳解分析
在機(jī)器視覺領(lǐng)域中,卷積神經(jīng)網(wǎng)絡(luò)算法作為一種新興算法出現(xiàn),在圖像識別領(lǐng)域中,卷積神經(jīng)網(wǎng)絡(luò)能夠較好的實現(xiàn)圖像的分類效果,而且其位移和形變具有較高的容忍能力2021-11-11