1. 程式人生 > >爬取校園新聞列表

爬取校園新聞列表

list 網頁 for 一個 get orm re.search 來源 desc

  1. 獲取單條新聞的#標題#鏈接#時間#來源#內容 #點擊次數,並包裝成一個函數。
  2. 獲取一個新聞列表頁的所有新聞的上述詳情,並包裝成一個函數。
  3. 獲取所有新聞列表頁的網址,調用上述函數。
  4. 完成所有校園新聞的爬取工作。
  5. 完成自己所選其他主題相應數據的爬取工作。
    import requests
    import re
    from bs4 import BeautifulSoup
    url=http://news.gzcc.cn/html/xiaoyuanxinwen/
    res=requests.get(url)
    res.encoding=utf-8
    soup=BeautifulSoup(res.text,html.parser
    ) #獲取點擊次數 def getclick(newurl): id=re.search(_(.*).html,newurl).group(1).split(/)[1] clickurl=http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80.format(id) click=int(requests.get(clickurl).text.split(".")[-1].lstrip("html(‘").rstrip("‘);")) return click #獲取網頁內容 def getonpages(listurl): res
    =requests.get(listurl) res.encoding=utf-8 soup=BeautifulSoup(res.text,html.parser) for news in soup.select(li): if len(news.select(.news-list-title))>0: title=news.select(.news-list-title)[0].text #標題 time=news.select(.news-list-info)[0].contents[0
    ].text#時間 url1=news.select(a)[0][href] #鏈接 source=news.select(.news-list-info)[0].contents[1].text#來源 description=news.select(.news-list-description)[0].text #內容 resd=requests.get(url1) resd.encoding=utf-8 soupd=BeautifulSoup(resd.text,html.parser) detail=soupd.select(.show-content)[0].text click=getclick(url1) #調用點擊次數 print(title,url1,click) count=int(soup.select(.a1)[0].text.rstrip("")) pages=count//10+1 for i in range(2,4): pagesurl="http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html".format(i) getonpages(pagesurl)

    技術分享

爬取校園新聞列表