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

2021-06-06 21:03

阅读:467

标签: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(‘
(.*?)
‘,html,re.S) # 其中`re.S`是将此`div`内的所有内容包括换行截取出来,如果只需要截取一行,就不需要加这个

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

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

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

可利用python轻松转换为我们熟知的简体中文
def convert_to_cn(text):
    text = re.sub(r‘([A-F0-9]{2});‘, r‘\1;‘, text)
    return text.replace(‘‘, 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爬取图书信息,转译序列为简体中文

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

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


评论


亲,登录后才可以留言!