日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python基础课程4(看代码看注释)--爬虫爬取网页信息

發布時間:2025/3/15 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python基础课程4(看代码看注释)--爬虫爬取网页信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#主要用的python庫:安裝必要的庫requests:用來獲取頁面信息; BeautifulSoup:用來獲取頁面結構的詳細信息 #先獲取鏈接,再到一個列表,進入標簽,然后到class。。。。。就可以了(省略) #安裝 import requests from bs4 import BeautifulSoup url = "https://hz.lianjia.com/zufang/" responce=requests.get(url)#獲取到頁面信息200,頁面信息存儲在text中 #查看頁面信息存儲位置,response.text responce.text soup = BeautifulSoup(responce.text,'lxml')#解析使用lxml格式的文本存儲,使文本結構化了 links_div=('div',class_="pic-panel")##class加下劃線是因為class是python里的關鍵字,此class非彼class #從列表框里生成另一個列表推導式,利用列表生成式 links =[div.a.get('herf') for div in links_div] print(links,len(links))##30個鏈接,訪問這些鏈接可以得到詳細的租房信息 #links_div[1].a.get('herf')##僅僅提取了這個鏈接就夠了 ##上述代碼封裝成函數,名字為get_links,作用為獲取下邊所有租房頁面的鏈接,返回一個鏈接列表##封裝:獲取url頁面下的內容,返回soup對象 def get_page(url):responce = request.get(url)soup = BeautifulSoup(responce.text, 'lxml')return soupdef get_links(link_url):#responce = requests.get(url) # 獲取到頁面信息200,頁面信息存儲在text中。已封裝成上述函數#soup = BeautifulSoup(responce.text, 'lxml') # 解析使用lxml格式的文本存儲,使文本結構化了。已封裝成上述函數#調用上述替代上邊注釋掉的兩行的函數soup=get_page(link_url)links_div = soup.find_all('div',class_='pic-panel')links=[links_div.a.get('herf') for div in links_div]return linkslinks_url="https://hz.lianjia.com/zufang/"get_links(links_url)def get_huose_info(huose_url)huose_url = "https://hz.lianjia.com/zufang/103102641328.html"#responce = request.get(hour_url)#soup = BeautifulSoup(responce.text,'lxml')#調用函數soup=get_page(huose_url)price=soup.find('span',class_="total").text##直接把價格4500獲取出來unit=soup.find('span',class_="unit").textunit.str()#str函數字符轉換工具house_info=soup.find_all('p')#('p',class='if')area=huose_info[0].text[3:]#切片工具切片掉標題:面積:layout=huose_info[1].text[5:]floor=huose_info[2].text[3:]direction = house_info[3].text[5:]##地鐵沒有class,說明在獲取huose_info時class時多余的train=huose[4].text[3:]#構建一個字典info={'面積':area,'價格':price} 封裝數據庫 DATABASE= {'host':127.0.0.1,'database':'Examination','user':'root','password':'yuping','charset':utf8mb4} def get_db(setting):return MySQLdb.connect(**settings) def insert(house_info):values = "'{}'"*11+"'{}'"sql_values = values.format(huose['價格'],huose['面積'],huose['價格'])sql = '''insert into 'huose'('price','unit','area')values({},)'''.format(sql_values)cursor = db.cursor()cursor.execute(sql)db.commit() huose = get_huose_info('https://hz.lianjia.com/zufang/103102641328.html') db = get_db(DATABASE) insert(db,huose) for link in links:time.sleep(2)##為了防止訪問時間太長加上時間限制print("獲取一個房子信息時間成功")huose = get_huose_info(link)insert(db,huose)

總結

以上是生活随笔為你收集整理的python基础课程4(看代码看注释)--爬虫爬取网页信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。