Python 中用于 HTML 解析器的 http 请求和正则表达式
http request and regex in Python for HTML parser
当我执行脚本时,结果是空的。为什么?脚本连接到站点并解析 html 标签 <a>
:
#!/usr/bin/python3
import re
import socket
import urllib, urllib.error
import http.client
import sys
conn = http.client.HTTPConnection('www.guardaserie.online');
headers = { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Content-type": "application/x-www-form-urlencoded; charset=UTF-8" }
params = urllib.parse.urlencode({"s":"hannibal"})
conn.request('GET', '/',params, headers)
response = conn.getresponse();
site = re.search('<a href="(.*)" class="box-link-serie">', str(response.read()), re.M|re.I)
if(site):
print(site.group())
很可能您正在搜索的模式在读取响应中不存在,或者它在尝试解析 html.
的某个时候卡住
re.search( 'href="(.*)" class="box-link-serie"', str(response.read()), re.M | re.I )
使用更通用的东西或其他解析器方法可能会导致您获得所需的结果。
当我执行脚本时,结果是空的。为什么?脚本连接到站点并解析 html 标签 <a>
:
#!/usr/bin/python3
import re
import socket
import urllib, urllib.error
import http.client
import sys
conn = http.client.HTTPConnection('www.guardaserie.online');
headers = { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Content-type": "application/x-www-form-urlencoded; charset=UTF-8" }
params = urllib.parse.urlencode({"s":"hannibal"})
conn.request('GET', '/',params, headers)
response = conn.getresponse();
site = re.search('<a href="(.*)" class="box-link-serie">', str(response.read()), re.M|re.I)
if(site):
print(site.group())
很可能您正在搜索的模式在读取响应中不存在,或者它在尝试解析 html.
的某个时候卡住re.search( 'href="(.*)" class="box-link-serie"', str(response.read()), re.M | re.I )
使用更通用的东西或其他解析器方法可能会导致您获得所需的结果。