刚开始学习Python,试着写了一些东西,发现Python确实是非常容易上手,代码十分简短,并且有很多第三方库可以使用,同样的一种操作用别的语言可能需要10行代码,Python可能只要1行就能实现。
我这里爬的是这个网站 www.lssdjt.com,类似的网站还有很多。由于我也是初学者,所以注释写的比代码多。
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
from urllib import request from bs4 import BeautifulSoup
startUrl = "http://www.lssdjt.com/11/29"
pageFile = open('historyTodayData.txt', 'w', encoding='utf-8')
def getdata(url): page = request.urlopen(url) pageStream = page.read() pageHtml = pageStream.decode('utf-8') soup = BeautifulSoup(pageHtml, "html.parser") nextUrlClass = soup.find('ul', {'class': 'bot'}).find('li', {'class': 'r'}) next_url = nextUrlClass.a['href'] links = soup.find_all("a", class_="screenshot") for link in links: print(link.i.string, link.em.string, link.em.string.split('年')[1].replace('月', ' ').replace('日', '')) tempStrLine = link.i.string+' '+link.em.string+' ' + link.em.string.split('年')[1].replace('月', ' ').replace('日', '') + '\n' pageFile.writelines(tempStrLine) return next_url
for _ in range(365): startUrl = getdata(startUrl)
pageFile.close()
|
爬完的数据长下面这个样子,大概有一万多行,把列头title,date,month,day添加到第一行,文件扩展名改为csv就可以直接导入微信小程序云开发提供的数据库中了。
参考内容
BeautifulSoup中文文档