如何使用Python操作用于webscraping的URL?

时间:2018-02-10 23:37:30

标签: python twitter beautifulsoup

我想将我的数组推文分别输入到网址https://finviz.com/quote.ashx?t=mbot中的股票代码符号列表(aapl,cdti,ovas等)中。 URL的一部分,在本例中为MBOT,是页面所看到的股票。如何操作URL以便我可以使用我的数组推文从每个表中删除信息?

    import csv
    import urllib.request
    from bs4 import BeautifulSoup

    twiturl = "https://twitter.com/ACInvestorBlog"
    twitpage = urllib.request.urlopen(twiturl)
    soup = BeautifulSoup(twitpage,"html.parser")

    print(soup.title.text)

    tweets = [i.text for i in soup.select('a.twitter-cashtag.pretty-link.js-nav b')]
    print(tweets)

    furl = "https://finviz.com/quote.ashx?t=mbot"
    fpage = urllib.request.urlopen(furl)
    fsoup = BeautifulSoup(fpage, 'html.parser')

    with open('output.csv', 'wt') as file:
        writer = csv.writer(file)
# write header row
writer.writerow(map(lambda e : e.text, fsoup.find_all('td', {'class':'snapshot-td2-cp'})))

# write body row
writer.writerow(map(lambda e : e.text, fsoup.find_all('td', {'class':'snapshot-td2'})))

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解你想要的东西。您可以从https://twitter.com/ACInvestorBlog获得所需的股票代码。基于此tweeter帐户,您可以生成一个股票代码列表。

因此,如果您想获取Apple(appl)的信息,那么您的https://finviz.com/quote.ashx?t=aapl是否正确?

为什么没有:

url_base = "https://finviz.com/quote.ashx?t="
url_list = [url_base + tckr for tckr in tweets]

然后你在url_list中为每个url的请求做一个循环。这接近你想要实现的目标吗?