|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
以下代码是某视频的老师的代码。我复制过来,可是什么出输出不了?
能不能请大神帮忙看看? 到底是我搞错了,还是 这个视频太久了,现在百度启用反爬机制等之类的原因?
- import urllib.request,re
- keywd="韦玮"
- keywd=urllib.request.quote(keywd)
- #page=(num-1)*10
- for i in range(1,11):
- url="http://www.baidu.com/s?wd="+keywd+"&pn="+str((i-1)*10)
- data=urllib.request.urlopen(url).read().decode("utf-8")
- pat="title:'(.*?)',"
- pat2='"title":"(.*?)",'
- rst1=re.compile(pat).findall(data)
- rst2=re.compile(pat2).findall(data)
- for j in range(0,len(rst1)):
- print(rst1[j])
- for z in range(0,len(rst2)):
- print(rst2[z])
复制代码
quote() 函数是在 urllib.parse 模块里面的,不是在 urllib.request 里。
这样就有内容输出了:
- import urllib.request, urllib.parse, re
- keywd = "韦玮"
- keywd = urllib.parse.quote(keywd)
- # page=(num-1)*10
- for i in range(1, 11):
- url = "http://www.baidu.com/s?wd=" + keywd + "&pn=" + str((i - 1) * 10)
- data = urllib.request.urlopen(url).read().decode("utf-8")
- pat = "title:'(.*?)',"
- pat2 = '"title":"(.*?)",'
- rst1 = re.compile(pat).findall(data)
- rst2 = re.compile(pat2).findall(data)
- for j in range(0, len(rst1)):
- print(rst1[j])
- for z in range(0, len(rst2)):
- print(rst2[z])
复制代码
|
|