python3爬虫 -----华东交大校园新闻爬取

如果爬取较多最好sleep一下,,,,

 1 import requests
 2 import requests.exceptions
 3 import re
 4 import json
 5 
 6 #请求头,防止防爬虫的网页
 7 headers={
 8 "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
 9 }
10 
11 #获取一张网页上的内容
12 def get_one_page(url):
13     try:
14         res = requests.get(url, headers=headers)
15         if res.status_code == 200:
16             return res.text
17         return None
18     except Exception:
19         return None
20 
21 #根据网页上的内容,再析取新闻标题
22 def parse_one_page(html):
23     pattern=re.compile('<td align="left".*?<a href.*?>(.*?)</a>.*?</td>',re.S)
24     items=re.findall(pattern,html)
25     return items
26     # for item in items:
27     #     yield {
28     #          "title":item.split()
29     #     }
30 
31 
32 #写入文件
33 def write_to_file(content):
34     with open('news_ecjtu.txt','a',encoding='utf-8') as f:
35         f.write(json.dumps(content,ensure_ascii=False)+'\n')
36         f.close()
37 
38 
39 def main(page):
40     if(page):
41         page+=1
42         url='http://xw.ecjtu.jx.cn/1083/list'+str(page)+'.htm'
43     else:
44         url='http://xw.ecjtu.jx.cn/1083/list.htm'
45     html=get_one_page(url)
46 
47     for item in parse_one_page(html):
48        write_to_file(item)
49 
50 
51 if __name__ == '__main__':
52     for i in range(10): #582
53         main(i)

猜你喜欢

转载自www.cnblogs.com/z-712/p/10625255.html
今日推荐