訂閱
糾錯(cuò)
加入自媒體

如何用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)

獲取對應(yīng)的公司名稱,保存文檔。

三、項(xiàng)目準(zhǔn)備

軟件:PyCharm

需要的庫:requests,fake_useragent,time

網(wǎng)址:http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html

四、項(xiàng)目分析  如何網(wǎng)頁訪問?

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)擊下一頁時(shí),每增加一頁p-{}.html自增加1,用{}代替變換的變量,再用for循環(huán)遍歷這網(wǎng)址,實(shí)現(xiàn)多個(gè)網(wǎng)址請求。

五、項(xiàng)目實(shí)現(xiàn)

1. 定義一個(gè)class類繼承object,定義init方法繼承self,主函數(shù)main繼承self。導(dǎo)入需要的庫、請求地址。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ā)送請求  獲取響應(yīng), 頁面回調(diào),方便下次請求。
  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頁爬取成功。。。。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑 % page)項(xiàng)目優(yōu)化:

1. 設(shè)置時(shí)間延時(shí)。time.sleep(1.4)

六、效果展示

點(diǎn)擊綠色小三角運(yùn)行輸入起始頁,終止頁(  從0頁開始 )。

渠道公司名,結(jié)果顯示控制臺(tái)。


保存文檔。

七、總結(jié)

1. 不建議抓取太多數(shù)據(jù),容易對服務(wù)器造成負(fù)載,淺嘗輒止即可。2. 希望通過這個(gè)項(xiàng)目,能夠幫助了解xpath解析頁面的基本流程,字符串是如何拼接,format函數(shù)如何運(yùn)用。3. 本文基于Python網(wǎng)絡(luò)爬蟲,利用爬蟲庫,實(shí)現(xiàn)爬取上道網(wǎng),但是到自己動(dòng)手實(shí)現(xiàn)的時(shí)候,總會(huì)有各種各樣的問題,切勿眼高手低,勤動(dòng)手,才可以理解的更加深刻。

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報(bào)。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個(gè)字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)