我需要循环存储在CSV文件中的URL。我想从列出的URL中提取电话和ZIP。
请你如果能帮我,我感激不尽!
# read csv with just url per line
with open('urls.csv') as file:
start_urls = [line.strip() for line in file]
def start_request(self):
request = Request(url = self.start_urls, callback=self.parse)
yield request
def parse(self, response):
html = response.body
soup = BeautifulSoup(html, 'lxml')
text = soup.get_text()
phone = re.findall(r'\d{3}-\d{3}-\d{4}', html, re.MULTILINE)
zipcode = re.findall(r'(?<=, [A-Z]{2} )\d{5}', html, re.MULTILINE)
phn_1 = []
zipcode_1 = []
´´´
2条答案
按热度按时间e4eetjau1#
你描述了你的目标,但没有提到目前哪个部分不起作用。
你写了这个:
这并不是你想要的。特别是我希望Request()接受一个url而不是一个列表。另外,使用回调函数也可以,但可能比需要的更花哨。试试这个简化的方法:
我相信这个表达式对你来说很合适:
[line.strip() for line in file]
。为了强调它完全是关于处理换行符的,使用而不是
0qx6xfy62#
谢谢你的回答!我可以循环,但我不能得到的电话和拉链,而我正在循环后得到一个CSV的数据。任何帮助,我将不胜感激!