這篇文章主要介紹python爬蟲代碼示例的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站成立于2013年,先為宜都等服務建站,宜都等地企業(yè),進行企業(yè)商務咨詢服務。為宜都企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
python爬蟲代碼示例的方法:首先獲取瀏覽器信息,并使用urlencode生成post數(shù)據(jù);然后安裝pyMySQL,并存儲數(shù)據(jù)到MySQL即可。

python爬蟲代碼示例的方法:
1、urllib和BeautifuSoup
獲取瀏覽器信息
from urllib import request
req = request.urlopen("http://www.baidu.com")
print(req.read().decode("utf-8"))模擬真實瀏覽器:攜帶user-Agent頭
(目的是不讓服務器認為是爬蟲,若不帶此瀏覽器信息,則可能會報錯)
req = request.Request(url) #此處url為某個網(wǎng)址
req.add_header(key,value) #key即user-Agent,value即瀏覽器的版本信息
resp = request.urlopen(req)
print(resp.read().decode("utf-8"))使用POST
導入urllib庫下面的parse
from urllib import parse
使用urlencode生成post數(shù)據(jù)
postData = parse.urlencode([
(key1,val1),
(key2,val2),
(keyn,valn)
])使用post
request.urlopen(req,data=postData.encode("utf-8")) #使用postData發(fā)送post請求
resp.status #得到請求狀態(tài)
resp.reason #得到服務器的類型完整代碼示例(以爬取維基百科首頁鏈接為例)
#-*- coding:utf-8 -*-
from bs4 import BeautifulSoup as bs
from urllib.request import urlopen
import re
import ssl
#獲取維基百科詞條信息
ssl._create_default_https_context = ssl._create_unverified_context #全局取消證書驗證
#請求URL,并把結果用utf-8編碼
req = urlopen("https://en.wikipedia.org/wiki/Main page").read().decode("utf-8")
#使用beautifulsoup去解析
soup = bs(req,"html.parser")
# print(soup)
#獲取所有href屬性以“/wiki/Special”開頭的a標簽
urllist = soup.findAll("a",href=re.compile("^/wiki/Special"))
for url in urllist:
#去除以.jpg或.JPG結尾的鏈接
if not re.search("\.(jpg|JPG)$",url["href"]):
#get_test()輸出標簽下的所有內(nèi)容,包括子標簽的內(nèi)容;
#string只輸出一個內(nèi)容,若該標簽有子標簽則輸出“none
print(url.get_text()+"----->"+url["href"])
# print(url)2、存儲數(shù)據(jù)到MySQL
安裝pymysql
通過pip安裝:
$ pip install pymysql
或者通過安裝文件:
$ python setup.py install
使用
#引入開發(fā)包 import pymysql.cursors #獲取數(shù)據(jù)庫鏈接 connection = pymysql.connect(host="localhost", user = 'root', password = '123456', db ='wikiurl', charset = 'utf8mb4') try: #獲取會話指針 with connection.cursor() as cursor #創(chuàng)建sql語句 sql = "insert into `tableName`(`urlname`,`urlhref`) values(%s,%s)" #執(zhí)行SQL語句 cursor.execute(sql,(url.get_text(),"https://en.wikipedia.org"+url["href"])) #提交 connection.commit() finally: #關閉 connection.close()
3、爬蟲注意事項
Robots協(xié)議(機器人協(xié)議,也稱爬蟲協(xié)議)全稱是“網(wǎng)絡爬蟲排除協(xié)議”,網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不可以抓取。一般在主頁面下,如https://en.wikipedia.org/robots.txt
Disallow:不允許訪問 allow:允許訪問
以上是python爬蟲代碼示例的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:python爬蟲代碼示例的方法
本文URL:http://www.chinadenli.net/article42/iejjec.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、移動網(wǎng)站建設、品牌網(wǎng)站建設、網(wǎng)站建設、關鍵詞優(yōu)化、App設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)