成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python爬蟲代碼示例的方法

這篇文章主要介紹python爬蟲代碼示例的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯建站成立于2013年,先為宜都等服務建站,宜都等地企業(yè),進行企業(yè)商務咨詢服務。為宜都企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

python爬蟲代碼示例的方法:首先獲取瀏覽器信息,并使用urlencode生成post數據;然后安裝pyMySQL,并存儲數據到MySQL即可。

python爬蟲代碼示例的方法

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為某個網址
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數據

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()輸出標簽下的所有內容,包括子標簽的內容;
#string只輸出一個內容,若該標簽有子標簽則輸出“none
print(url.get_text()+"----->"+url["href"])
# print(url)

2、存儲數據到MySQL

安裝pymysql

通過pip安裝:

$ pip install pymysql

或者通過安裝文件:

$ python setup.py install

使用

#引入開發(fā)包
import pymysql.cursors
#獲取數據庫鏈接
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é)議)全稱是“網絡爬蟲排除協(xié)議”,網站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不可以抓取。一般在主頁面下,如https://en.wikipedia.org/robots.txt

Disallow:不允許訪問
allow:允許訪問

以上是python爬蟲代碼示例的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!

文章名稱:python爬蟲代碼示例的方法
本文URL:http://jinyejixie.com/article42/iejjec.html

成都網站建設公司_創(chuàng)新互聯,為您提供企業(yè)網站制作移動網站建設、品牌網站建設、網站建設關鍵詞優(yōu)化、App設計

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

營銷型網站建設
新巴尔虎左旗| 康定县| 宁陕县| 张家口市| 游戏| 苏州市| 庆云县| 邻水| 旺苍县| 邻水| 夏津县| 门源| 丰县| 论坛| 大厂| 邵阳县| 凤山县| 黄山市| 新和县| 洮南市| 台山市| 凤冈县| 夏河县| 阿荣旗| 瑞昌市| 祁东县| 巴南区| 靖边县| 黔东| 平谷区| 大埔县| 边坝县| 东乌| 定边县| 盐边县| 宾阳县| 临朐县| 曲沃县| 北川| 丘北县| 烟台市|