如何用Python爬取上道網(wǎng)的贊助公司名稱?
一、前言
上道網(wǎng)是一個(gè)手游發(fā)行推薦與投融資交易平臺(tái)。平臺(tái)聚集手游CP、手游發(fā)行、手游渠道、手游外包,投資商以及IP授權(quán)商,IP合作、一站式服務(wù)。并為之提供合作交易機(jī)會(huì)。
今天教如何去爬取上道網(wǎng)的贊助公司名稱,方便有關(guān)人士投資。
二、實(shí)現(xiàn)目標(biāo)
獲取對(duì)應(yīng)的公司名稱,保存文檔。
三、項(xiàng)目準(zhǔn)備
軟件:PyCharm
需要的庫(kù):requests,fake_useragent,time
網(wǎng)址:http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html
四、項(xiàng)目分析 如何網(wǎng)頁(yè)訪問?
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-1.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-2.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-3.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-4.html
點(diǎn)擊下一頁(yè)時(shí),每增加一頁(yè)p-{}.html自增加1,用{}代替變換的變量,再用for循環(huán)遍歷這網(wǎng)址,實(shí)現(xiàn)多個(gè)網(wǎng)址請(qǐng)求。
五、項(xiàng)目實(shí)現(xiàn)
1. 定義一個(gè)class類繼承object,定義init方法繼承self,主函數(shù)main繼承self。導(dǎo)入需要的庫(kù)、請(qǐng)求地址。import requestsfrom lxml import etreefrom fake_useragent import UserAgentimport time
class Shangdao(object): def __init__(self): self.url = "http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html" #網(wǎng)站 def main(self): pass
if __name__ == '__main__': Siper = Shangdao() Siper.main()2. 隨機(jī)產(chǎn)生UserAgent,防止反爬。for i in range(1, 50): self.headers = { 'User-Agent': ua.random, }3. 發(fā)送請(qǐng)求 獲取響應(yīng), 頁(yè)面回調(diào),方便下次請(qǐng)求。
def get_page(self, url): res = requests.get(url=url, headers=self.headers) html = res.content.decode("utf-8") return html4. 獲取公司名稱,for遍歷。
def page_page(self, html): parse_h(yuǎn)tml = etree.HTML(html) one = parse_h(yuǎn)tml.xpath('//h2/a/text()') for i in one: print(i)5. 寫入文檔。
f = open('公司.doc', 'a', encoding='utf-8') # 以'w'方式打開文件 f.write(str(i))6. 調(diào)用方法,實(shí)現(xiàn)功能。
def main(self): stat = int(input("輸 入 開 始 (2開始):")) end = int(input("輸 入 結(jié) 束:")) for page in range(stat, end + 1): url = self.url.format(page) print(url) html = self.get_page(url) self.page_page(html) print("==================第%s頁(yè)爬取成功!。。。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑 % page)項(xiàng)目?jī)?yōu)化:
1. 設(shè)置時(shí)間延時(shí)。time.sleep(1.4)
六、效果展示
點(diǎn)擊綠色小三角運(yùn)行輸入起始頁(yè),終止頁(yè)( 從0頁(yè)開始 )。
渠道公司名,結(jié)果顯示控制臺(tái)。
保存文檔。
七、總結(jié)
1. 不建議抓取太多數(shù)據(jù),容易對(duì)服務(wù)器造成負(fù)載,淺嘗輒止即可。2. 希望通過這個(gè)項(xiàng)目,能夠幫助了解xpath解析頁(yè)面的基本流程,字符串是如何拼接,format函數(shù)如何運(yùn)用。3. 本文基于Python網(wǎng)絡(luò)爬蟲,利用爬蟲庫(kù),實(shí)現(xiàn)爬取上道網(wǎng),但是到自己動(dòng)手實(shí)現(xiàn)的時(shí)候,總會(huì)有各種各樣的問題,切勿眼高手低,勤動(dòng)手,才可以理解的更加深刻。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
7月8日立即報(bào)名>> 【在線會(huì)議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會(huì)
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身智能機(jī)器人產(chǎn)業(yè)技術(shù)創(chuàng)新應(yīng)用論壇
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題
- 1 AI 眼鏡讓百萬(wàn) APP「集體失業(yè)」?
- 2 豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
- 3 一文看懂視覺語(yǔ)言動(dòng)作模型(VLA)及其應(yīng)用
- 4 “支付+”時(shí)代,支付即生態(tài) | 2025中國(guó)跨境支付十大趨勢(shì)
- 5 中國(guó)最具實(shí)力AI公司TOP10
- 6 特斯拉Robotaxi上路,馬斯克端上畫了十年的餅
- 7 國(guó)家數(shù)據(jù)局局長(zhǎng)劉烈宏調(diào)研格創(chuàng)東智
- 8 張勇等人退出阿里合伙人
- 9 AI的夏天:第四范式VS云從科技VS地平線機(jī)器人
- 10 AI視頻,攪動(dòng)1.5萬(wàn)億市場(chǎng)