这个错误表明在解析HTML文件时,发现了一个开标签和闭标签不匹配的问题,再mate后面加【/】试试,
<meta charset="UTF-8" />
不知道你这个问题是否已经解决, 如果还没有解决的话:由于是整个网站(基于该域名下的所有子网站)需要获取,所以采用正则的方式解决,一些具体的需求加判断就行了。该网站点开后 需要提交信息,但是不需要注册
,那么一般就会有个 重定向链接
或在 js
代码里,在 源码
中找到就行了,可看下图,因此所有的目的就只有一个——找到最终含有 pdf
的重定向链接。
sub_text = re.findall('<a href="(https://cta-redirect.*?)" target="_blank">', sub_html, re.S|re.M)
# 获取结果
# ['https://cta-redirect.hubspot.com/cta/redirect/3354902/4c3980eb-c827-4c5e-9b2c-83e1063314ba]
response = requests.get(sub_text[0], headers=headers, allow_redirects=True).text
在使用xpath定位时出现开头和结尾不一致的错误,可能是由于文件或结束标签的问题,可以根据报错信息和代码逐一检查定位的标签是否匹配。已经在title后添加斜杠,可以尝试用正则表达式进行匹配,找到对应的标签并修正,代码示例如下:
import requests from lxml import etree import re
url = "https://www.example.com" response = requests.get(url) html = response.content.decode()
pattern = r'