码迷,mamicode.com
首页 > 编程语言 > 详细

利用python爬取图书信息,转译&#x序列为简体中文

时间:2021-03-31 12:26:21      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:convert   dal   ons   轻松   div   books   pytho   代码   需要   

起因是毕业设计需要大量的图书信息来填充数据库,所以想到利用爬虫来爬取学校图书馆内的藏书信息。

我使用的是python里面的requests库来实现爬虫的

简单的语法
response = requests.get("url")  #生成一个response对象

response.encoding = response.apparent_encoding #设置编码格式

print("状态码:"+ str( response.status_code ) ) #打印状态码

html = response.text

print(response.text)#输出爬取的信息

拿到页面源代码之后,需要先截取出我们需要的部分内容

msg = re.findall(‘<div class="list_books">(.*?)</div>‘,html,re.S)
# 其中`re.S`是将此`div`内的所有内容包括换行截取出来,如果只需要截取一行,就不需要加这个

接着,我需要的只是其中的文字内容,所以得利用正则来去掉其他内容

def remove_html_tag(content):
    return re.sub(r‘</?\w+[^>]*>‘, ‘‘, content)

截取完成后,我发现网页上看上去是简体中文,但代码里是多个 HTML、XML 等 SGML 类语言的转义序列(&#x开头)

可利用python轻松转换为我们熟知的简体中文
def convert_to_cn(text):
    text = re.sub(r‘&#x([A-F0-9]{2});‘, r‘&#x00\1;‘, text)
    return text.replace(‘&#x‘, r‘\u‘).replace(‘;‘, ‘‘).encode(‘utf-8‘).decode(‘unicode-escape‘)

然后就可以开始讲一开始获取好的msg进行遍历,变成我需要的数据

for item in msg:
    s = convert_to_cn(remove_html_tag(item))
    str = str + s
    print(s)

最后就是将转译好的图书信息输出到文件上了

file = open(‘D:/Python/ab.txt‘,‘w‘)
file.write(str)

这样就搞定了,成功的获取了足够的图书信息。

利用python爬取图书信息,转译&#x序列为简体中文

标签:convert   dal   ons   轻松   div   books   pytho   代码   需要   

原文地址:https://www.cnblogs.com/Listen-rain-to-sleep/p/14599112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!