如何建立公司微信平台并优化绍兴地区的网站SEO?
摘要:建立公司微信平台 网站平台,绍兴seo外包,铜山区建设局局网站,音乐网站建设程序爬取研究中心的书目 现在,想要把如下网站中的书目信息爬取出来。 案例一 耶鲁 Publications | Yale Law Sc
建立公司微信平台 网站平台,绍兴seo外包,铜山区建设局局网站,音乐网站建设程序爬取研究中心的书目
现在#xff0c;想要把如下网站中的书目信息爬取出来。
案例一 耶鲁
Publications | Yale Law School
分析网页#xff0c;如下图所示#xff0c;需要爬取的页面#xff0c;标签信息是“p”#xff0c;所以用 itemssoup.find_all(p想要把如下网站中的书目信息爬取出来。
案例一 耶鲁
Publications | Yale Law School
分析网页如下图所示需要爬取的页面标签信息是“p”所以用 itemssoup.find_all(p) 代码如下
import requests
from bs4 import BeautifulSoup as bs
from openpyxl import Workbookurlhttps://law.yale.edu/china-center/publications/recent-staff-publicationswebfilerequests.get(url)
webfile.encodingutf-8
datawebfile.textsoupbs(data,html.parser)
soup.prettify()itemssoup.find_all(p)
for i in items:print(i.get_text())
完善代码如下
import requests
from bs4 import BeautifulSoup as bs
from openpyxl import Workbook
import rewbWorkbook()
wswb.activewfileopen(bool.txt,w,encodingutf-8)urlhttps://law.yale.edu/china-center/publications/recent-staff-publicationswebfilerequests.get(url)
webfile.encodingutf-8
datawebfile.textsoupbs(data,html.parser)
soup.prettify()itemssoup.find_all(p)# 正则表达式匹配模式
pattern1 r([^,\n“]), “([^”]),”\s*([^,\n])
pattern2 r([^,](?: and [^,])*), “([^”]),”
正则表达式匹配模式([^,](?: and [^,])*)匹配作者名。这个模式匹配一个或多个名字由“and”连接。[^,]匹配一个或多个非逗号字符(?: and [^,])*是一个非捕获组匹配零个或多个“and”后跟一个或多个非逗号字符的模式。
“([^”]),”匹配文章名。这个模式匹配引号内的任何字符直到遇到闭合的引号和逗号。([^,\n“])匹配作者名。这个模式匹配一个或多个非逗号、换行符和左引号的字符序列。[^,\n“]是一个字符集表示匹配除了逗号、换行符和左引号之外的任何字符。表示匹配一个或多个这样的字符。
“([^”]),”匹配文章名。这个模式匹配以左引号开始以右引号结束的任何字符序列并且确保文章名后面跟着一个逗号。
([^,\n])匹配期刊名。这个模式匹配一个或多个非逗号和换行符的字符序列。for i in items:infoi.get_text()# 查找所有匹配项matches re.findall(pattern1, info)if len(matches)0:print(matches)for m in matches:print(m,sep,,filewfile)wfile.close()
将txt文本导入excel即可。原因在于正则表达式中得到的列表中的信息有的似乎是tuptle类型导致openpyxl无法输入xlsx表格中。所以采用了txt文本方式。
