博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬虫_古诗文网(正则表达式)
阅读量:5775 次
发布时间:2019-06-18

本文共 1675 字,大约阅读时间需要 5 分钟。

程序中请求到的和网页中内容不一样,但也是古诗,不是道是不是因为请求头的原因,使得网站推荐的古诗有差异

1 import requests 2 import re 3  4 headers = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36' 5  6 def get_html(url): 7     try: 8         response = requests.get(url, headers) 9         response.raise_for_status()10         response.encoding = response.apparent_encoding11         return response.text12     except:13         print('get_html(url) faild')14 15 16 def parse_html(html):17     titles = re.findall(r'
.*?
(.*?)', html, re.DOTALL)18 dynasties = re.findall(r'

(.*?)', html, re.DOTALL)19 authors = re.findall(r'

(.*?)', html, re.DOTALL)20 content_tags = re.findall(r'

(.*?)
', html, re.DOTALL)21 contents = []22 for content in content_tags:23 content = re.sub(r'<.*?>', '', content)24 contents.append(content.strip())25 poems = [] 26 for value in zip(titles, dynasties, authors, contents):27 title, dynasties, authors, content = value28 poem = {29 'title': title,30 'dynasties': dynasties,31 'authors': authors,32 'content': content33 }34 print(poem)35 poems.append(poem)36 return poems37 38 39 def main():40 page_num = 1041 for i in range(1, page_num+1):42 url = 'https://www.gushiwen.org/default_{0}.aspx'.format(i)43 html = get_html(url)44 parse_html(html)45 46 47 if __name__ == '__main__':48 main()

运行结果

 

转载于:https://www.cnblogs.com/MC-Curry/p/9429442.html

你可能感兴趣的文章
国产x86 CPU性能达Intel的80%?
查看>>
用友网络陈强兵:企业互联网需解决五大问题
查看>>
SMA推出Powerwall兼容Sunny Boy Storage逆变器
查看>>
云路由 vyatta 体验(二)NAT
查看>>
C++、Java、JavaScript中迭代器的用法
查看>>
jackson not marked as ignorable异常
查看>>
Python version 2.7 required, which was not foun...
查看>>
android 模拟器 横竖屏切换
查看>>
centos7.3 下安装 composer,解决Failed to decode zlib stream错误
查看>>
Git 常用命令
查看>>
在Postgres 数据库中生成36位的UUID代码
查看>>
小黑小波比.功能测试登录用户
查看>>
Java enum用法详解
查看>>
去云端的多条途径
查看>>
Docker容器从一知半解到入门
查看>>
关于“方法参数”
查看>>
Redis命令总结
查看>>
unable to write 'random state'错误解决
查看>>
win7 wamp 下安装pear phpunit
查看>>
context:annotation-config vs component-scan
查看>>