请帮我修一下剧本。
import urllib
import re
import os
import pprint
import requests
import bs4
stringHtml = urllib.request.urlopen('http://forum.saransk.ru/user/2018-sergey-kalinin/').read().decode('utf-8')
#print(stringHtml)
stringPattern = 'url\suid"\shref="http://vkontakte.ru/id10550933"'
result = re.search(stringPattern, stringHtml)
if result:
print(result.group())
else:
print('no result') 问题是脚本显示“无结果”。正确编译正则表达式。请帮忙找出一个错误
发布于 2014-02-20 15:34:09
为什么不使用导入的bs4呢?
如果希望使用类href和url打印a元素的uid属性,则可以使用 method (which accept css selector)。
import urllib.request
import bs4
stringHtml = urllib.request.urlopen('http://forum.saransk.ru/user/2018-sergey-kalinin/').read()#.decode('utf-8')
soup = bs4.BeautifulSoup(stringHtml)
for a in soup.select('a.url.uid'):
print(a.get('href'))
# If you want to check whether the a tag with `href="http://vkontakte..."` exist,
# use following lines instead.
# (CSS Selector `a.url.uid[href="..."]` does not work with bs4.
# bs4 supports most commonly-used CSS selectors, not all of them)
#print(any(a.get('href') == 'http://vkontakte.ru/id10550933'
# for a in soup.select('a.url.uid')))产出:
http://vkontakte.ru/id10550933发布于 2014-02-20 15:27:50
我敢肯定你的正则表达式有错误。您正在寻找文本:
url uid“href://vkontakte.ru/uid 10550933”
看上去是空格错误?
发布于 2014-02-20 15:44:13
页面源显示
<a class="url uid" rel="external me" href="http://vkontakte.ru/id10550933">http://vkontakte.ru/id10550933</a>所以你想要的是
import bs4
import requests
url = 'http://forum.saransk.ru/user/2018-sergey-kalinin/'
html = requests.get(url).content
page = bs4.BeautifulSoup(html)
link = page.find("a", {"class": "url uid"})
print(link["href"])这给
http://vkontakte.ru/id10550933https://stackoverflow.com/questions/21912069
复制相似问题