利用python抓取頁面資料

2022-08-11 19:48:09 字數 2468 閱讀 7649

1、首先是安裝python(注意python3.x和python2.x是不相容的,我們最好用python3.x)

安裝方法:安裝python

2、安裝成功後,再進行我們需要的外掛程式安裝。(這裡我們需要用到requests和pymssql兩個外掛程式re是自帶的)注:這裡我們使用的是sqlserver所以安裝的是pymssql,如果使用的是mysql可以參考:安裝mysql驅動

安裝外掛程式的方法為

安裝pymssql->進入命令列輸入命令:pip install pymssql

安裝requests->進入命令列輸入命令:pip install requests

可以通過命令pip list來檢視是否安裝成功。

3、安裝完成後,我們編寫**如下:

import

requests

from requests.exceptions import

requestexception

import

reimport

pymssql

#通過url獲得頁面內容

defget_one_page(url):

try:

if response.status_code == 200:

return

response.text

return

none

except

requestexception:

return

none

#通過正規表示式抓取我們所需要的頁面內容

defparse_one_page(html):

pattern = re.compile('

.*?src="(.*?)".*?.*?.*?>(.*?)

.*?.*?.*?(.*?).*?(.*?).*?(.*?).*?

',re.s)

items =re.findall(pattern,html)

return

items;

#資料庫連線

defdb_conn():

server = '

192.168.6.111\mssqlzf

'user = 'sa'

password = '

sa@2016

'database = '

zfnewdb

'return

pymssql.connect(server, user, password, database)

#定義main()

defmain():

conn =db_conn()

url = '

'html =get_one_page(url)

cursor =conn.cursor()

#將抓取回來的資料迴圈插入到資料庫中,注意:parse_one_page返回的資料型別為

for item in

parse_one_page(html):

cursor.execute(

"insert into tblgrabnews values (%s,%s,%s,%s,%s,%s)

",(item[1], item[2], item[0], item[5], item[3], item[4]))

conn.commit()

conn.close()

#執行main()

if__name__ == '

__main__':

main()

注意,parse_one_page(html)函式返回的資料型別如下:[(),(),()...],所以上面程式要的for迴圈才會那麼去寫,如果不知道什麼是list和tuple的同學可以看一下這篇文章list和tuple。

執行上述**後,可在資料庫中看到爬下來的資料。

資料表結構為:

希望能幫助到有需要的人。

python抓取簡單頁面資訊

我們最常規的做法就是通過滑鼠右鍵,選擇另存為。但有些滑鼠右鍵的時候並沒有另存為選項,還有辦法就通過就是通過截圖工具擷取下來,但這樣就降低的清晰度。好吧 其實你很厲害的,右鍵檢視頁面源 我們可以通過python 來實現這樣乙個簡單的爬蟲功能,把我們想要的 爬取到本地。下面就看看如何使用 python ...

利用bs模組抓取資料

剛剛用bs模組抓取了一些資料,發現其中真的有好多問題,覺得對自己很有用,有的甚至是困擾自己很長時間的。接下來就說說吧 抓取的是豆瓣電影的 其實用bs模組是非常簡單的,就乙個函式就能搞定了 可是這中間我就出現了一些問題,例如,分割的不明顯,然後自己就一直繞,最後看bs文件 裡面關於get text 的...

python執行緒抓取頁面簡單內容

用到的基本就是之前提到的執行緒小框架及邏輯 encoding utf 8 import requests from lxml import etree import threading import os class cnbeta object thread 獲取 首頁 def get url se...