下载网页并使用 python 搜索文本
Downloading a web page and searching a text with python
我正在尝试从网站上抓取特定文本。因为我是Python的新人,我发现很难用一个脚本来抓取文本,所以我先用了这段代码:
import urllib
import requests
from bs4 import BeautifulSoup
htmltext = urllib.urlopen("https://io.winmasters.com/Feeds/api/event /282576?lang=el").read()
data = htmltext
soup = BeautifulSoup(data)
f = open('/Desktop/text.txt', 'w')
f.write(data)
f.close()`
接下来我将尝试编写一个脚本来搜索文本并打印特定单词。
with open("/Desktop/text.txt") as openfile:
for line in openfile:
for part in line.split():
if "odds=" in part:
print part
但搜索脚本没有 return 我正在搜索的文本。有什么建议吗?
如果您只是想要与 odds
键关联的值,而根本没有任何上下文,您可以简单地执行以下操作:
import urllib
from json import loads # JSON parser
jsontext = urllib.urlopen("https://io.winmasters.com/Feeds/api/event/282576?lang=el").read()
data = loads(jsontext) # Parse the JSON
odds = [[b['odds'] for b in a['children']] for a in data['children']]
嵌套列表理解利用了数据的结构。使用数据结构的一个优点是您可以毫不费力地进行非常丰富的分析。如果除了赔率之外您还需要其他信息,那么这可能会更好地实现为嵌套 for
-循环。
怎么样:
import sys
from bs4 import Beautiful Soup
import mechanize
def viewPage(url):
browser=mechanize.Browser()
browser.set_handle_robots(False)
browser.addheaders=[('user-agent','MozillaMozilla/5.0')]
page=browser.open(url)
source_code=page.read()
soup=BeautifulSoup(source_code)
info=soup.findAll("insert what you want to locate")
print(info)
viewPage("www.xkcd.com")
我有一个程序,当你选择一个网页时,它会读取所有链接,随机选择一个并转到它,做同样的事情。它基本上是在互联网上爬行。上面的代码是修改后的摘录。
我正在尝试从网站上抓取特定文本。因为我是Python的新人,我发现很难用一个脚本来抓取文本,所以我先用了这段代码:
import urllib
import requests
from bs4 import BeautifulSoup
htmltext = urllib.urlopen("https://io.winmasters.com/Feeds/api/event /282576?lang=el").read()
data = htmltext
soup = BeautifulSoup(data)
f = open('/Desktop/text.txt', 'w')
f.write(data)
f.close()`
接下来我将尝试编写一个脚本来搜索文本并打印特定单词。
with open("/Desktop/text.txt") as openfile:
for line in openfile:
for part in line.split():
if "odds=" in part:
print part
但搜索脚本没有 return 我正在搜索的文本。有什么建议吗?
如果您只是想要与 odds
键关联的值,而根本没有任何上下文,您可以简单地执行以下操作:
import urllib
from json import loads # JSON parser
jsontext = urllib.urlopen("https://io.winmasters.com/Feeds/api/event/282576?lang=el").read()
data = loads(jsontext) # Parse the JSON
odds = [[b['odds'] for b in a['children']] for a in data['children']]
嵌套列表理解利用了数据的结构。使用数据结构的一个优点是您可以毫不费力地进行非常丰富的分析。如果除了赔率之外您还需要其他信息,那么这可能会更好地实现为嵌套 for
-循环。
怎么样:
import sys
from bs4 import Beautiful Soup
import mechanize
def viewPage(url):
browser=mechanize.Browser()
browser.set_handle_robots(False)
browser.addheaders=[('user-agent','MozillaMozilla/5.0')]
page=browser.open(url)
source_code=page.read()
soup=BeautifulSoup(source_code)
info=soup.findAll("insert what you want to locate")
print(info)
viewPage("www.xkcd.com")
我有一个程序,当你选择一个网页时,它会读取所有链接,随机选择一个并转到它,做同样的事情。它基本上是在互联网上爬行。上面的代码是修改后的摘录。